matlab程序设计入门档案读写(共70张).pptx
《matlab程序设计入门档案读写(共70张).pptx》由会员分享,可在线阅读,更多相关《matlab程序设计入门档案读写(共70张).pptx(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、MATLAB 程式設計入門篇:讀寫檔案18 档案读写张智星清大资工系 多媒体检索实验室MATLAB 程式設計入門篇:讀寫檔案本章重点n 内建许多有关档案读写的函数n对二进制档案或 档案都可以进行处理n开启n关闭n储存MATLAB 程式設計入門篇:讀寫檔案高阶的档案读写指令n先列出常用读写档案指令,稍后将介绍用法类别支持档案格式指令一般数据 - , - , - - , - 电子表格 - 1 - 123 1, 1MATLAB 程式設計入門篇:讀寫檔案高阶的档案读写指令()类别支持档案格式指令科学资料 - - , - , 电影 - 影像, , , , , , , , , , , , , , 音讯,
2、- , - , MATLAB 程式設計入門篇:讀寫檔案n使用 指令来读取n条件:n数据文件是由逗号分开n只有包含数值资料n01( 的内容:n); % 列出 的内容A = ()% 将 的内容读到矩阵 AMATLAB 程式設計入門篇:讀寫檔案 的内容:1, 2, 34, 56, 7, 8, 9A =1 2 3 04 5 0 06 7 8 9 会传回一个数值矩阵其中缺席的资料将以 0 填入。MATLAB 程式設計入門篇:讀寫檔案n如果数值数据的分界符号()不是逗点,就不能使用 指令,而要改用 指令n01( 的内容:n); % 列出 的内容A = (, t)% 将 的内容读到矩阵 AMATLAB 程式
3、設計入門篇:讀寫檔案 的内容:123456789A =1 2 3 04 5 0 06 7 8 9上例中 的数据是以定位键()隔开,因此 指令的第二个自变量是 t,以代表定位键MATLAB 程式設計入門篇:讀寫檔案n如果档案数据包含数值及字符串,我们就必须改用 指令n01( 的内容:n); % 列出 的内容, , = (, )MATLAB 程式設計入門篇:讀寫檔案 的内容: 13 10 41 = = =131041在上述范例中, 包含三个字段(或是三直行的数据) 可在第二个自变量指定数据型态例如上例中 代表字符串, 代表整数也同时将读入的数据设定到不同的输出自变量由于数据型态的不同,输出自变量也
4、有不同的型态以上述范例来说, 和 都是字符串异值数组,而 则是数值数组。MATLAB 程式設計入門篇:讀寫檔案使用定位键来分隔字段n上例中,我们利用空格来分隔字段n如果字段值本身也有空格 ?n改用定位键来分隔字段n02(2 的内容:n); 2% 列出 2 的内容, , = (2, , , t)MATLAB 程式設計入門篇:讀寫檔案n结果与前一例相同n 指令中加上对分界字符()的定义,就可以读出由定位键所分隔的数据文件n若不指定时,预设为空格键MATLAB 程式設計入門篇:讀寫檔案读取文字文件n 也可以读取一个文字文件n同时把档案内的每一列文字变成字符串异质数组里面的每一个元素n03 = (03
5、,n,);()% 印出 的数据类别1% 列出 第一列2% 列出 第二列MATLAB 程式設計入門篇:讀寫檔案 = =(03,n,); =()% 印出 的数据类别上例使用 读入 03(也就是此范例档案),并显示此档案的第一列和第二列。 指令的用法还有很多,功能也很强大在下输入 可以得到完整的技术支持。MATLAB 程式設計入門篇:讀寫檔案n若只是要将一个档案的内容送到一个字符串,可以使用 指令n:范例16-6:01 = (2);()()MATLAB 程式設計入門篇:讀寫檔案 = =1 64上例中, 指令会将档案 2 的内容送到字符串变量 () 的值是 ,显示 的数据型态是字符串() 显示字符串
6、的长度是 64。MATLAB 程式設計入門篇:讀寫檔案影像与音讯档案n有关于影像档案的读写,请参阅本书第十九章影像显示与读写;n有关音讯档案的读写,请参阅本书第二十章音讯读写、录制与播放。MATLAB 程式設計入門篇:讀寫檔案更繁复的档案格式n一般情况下n尽量采取先前介绍的指令来进行读写。n数据格式比较繁复时n需要一列一列读进来n再进行剖析()n相关指令将在以下介绍。MATLAB 程式設計入門篇:讀寫檔案开启档案n无论读写 或二进制档案,都必需先用 函数来开启档案,语法如:n = (, )n其中 表示欲读写的文件名称n 则表示欲对档案进行的处理方式,可以是下列任一字符串:nlr:只准读取()档
7、案nlw:只准写入()档案nla:只准加入()档案nl:可读取及加入档案( )n省略第二个自变量, 的默认值就是 r。MATLAB 程式設計入門篇:讀寫檔案有关n在下, 字符串必需能够分辨或 档案。n例如:若要读档案,则 字符串必需是“”n 另外支持很多 字符串,可输入 得到完整的信息。n 函数传回一个档案辨识码,通常是个非负的整数,我们可用此辨识码来对此档案进行各种读写的处理。MATLAB 程式設計入門篇:讀寫檔案01n上例可知当档案不存在时,回传的 是 1n同时 会包含相关的错误信息。, = (, r);( = n, );( = n, ); = -1 = . . . .MATLAB 程式設
8、計入門篇:讀寫檔案02n若开启成功,则传回的 是一个大于 2 的整数,而且传回的 是一个空字符串,例如:, = (02, r);( = n, );( = n, ); = 3 =MATLAB 程式設計入門篇:讀寫檔案:n 可传回第二个自变量来显示错误讯息。n为了安全起见,最好在每次使用 时,都测试其传回的 是否为有效值。n 使用 1 来代表标准输出( )n2 代表标准错误输出( )n因此在使用这两个 的值时,可以不必使用 来开启档案。MATLAB 程式設計入門篇:讀寫檔案关闭档案n完成档案的读写之后,可用 函数来关闭档案,用法如下:n = ();n若一切顺利, 传回 0。n若无法顺利关闭档案,则
9、 传回 -1。n为避免因开启档案过多而造成系统资源浪费,一般在完成档案的读写后,即应使用 来关闭档案MATLAB 程式設計入門篇:讀寫檔案:n若要一次关闭所有开启的档案,可用 () 或是 。n开启及关闭档案都是比较耗时的函数,因此尽量不要将他们置于循环之中,以提高程序执行效率。MATLAB 程式設計入門篇:讀寫檔案读取 档案n 函数:n可将 档案的内容中的某一列读出n并将该列的 内容以转成字符串传回。n01 = (, r); ()0% 测试档案指针是否已到达结束位置 = ();();MATLAB 程式設計入門篇:讀寫檔案读取 档案()n执行上述程序后, 会n先在目前目录找寻 n若找不到,再根据
10、搜寻路径,找出 指令的位置然后再将其内容一列一列地列出。n请自行动手试用此范例程序代码。n输入 可显示档案所在的路径n 和 均可由档案读取一列数据:n 会舍去换行字符n 函数则保留换行字符。MATLAB 程式設計入門篇:讀寫檔案应用:仿真的指令n :用来找出包含某一特定字符串的一列 (, ) = (, r); = 0; () 0, = (); = (, ); ()(: n, ); = + 1;();MATLAB 程式設計入門篇:讀寫檔案n如欲列出 中包含 字符串的每一列,可输入如下:n (, )n6: = (, );n7: ()n若要进行更复杂的字符串比对n例如要在一个档案中找出b 和 d 中
11、间夹1至3个元音的英文字n请参考本书姊妹作 程序设计:进阶篇中的第四章通用表达式。MATLAB 程式設計入門篇:讀寫檔案n函数可对档案作更精确的读取,用法如下:n = (, )n其中 是欲读取之档案的辨识码n 是格式指定字符串( )n常用的格式指定字符串有下列几种:n:字符串n:10进位的整数n:双倍精准()的浮点数( )n其它各种格式指定字符串可输入 来得到详细的说明MATLAB 程式設計入門篇:讀寫檔案01n有一文字文件 如下:1 4 9 16 2536 49 64 81 100n欲使用 指令读取其内容,可输入如下:n = (, r);n = (, );n();n% 显示 MATLAB 程
12、式設計入門篇:讀寫檔案 =149162536496481100n上例显示了 的 指令和 C 的 指令的最大不同:n 的 指令是向量化的()n只要读入数据的型态正确, 的 指令会一再执行n同时把所得结果存放于一个向量并回传。MATLAB 程式設計入門篇:讀寫檔案n 函数和 的功能很类似n 函数从字符串()中读取数据n: = 2(, (2), 10(3)%建立一字符串 = (, )%撷取中的 =3.1416 1.4142 0.47712 =3.14161.41420.4771MATLAB 程式設計入門篇:讀寫檔案写入 档案n 函数可将数据依格式指定字符串来写入 档案,其使用语法如下:n(, , y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 程序设计 入门 档案 读写 70
限制150内