第十九章 MATLAB程式设计入门篇档案读写.pptVIP

第十九章 MATLAB程式设计入门篇档案读写.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fseek 用於設定指標位置,其格式如下 status = fseek(fid, offset, origin) 其中 fid 是檔案識別碼 offset 是偏移量(以 byte 為單位,可以是正數或負數) origin 代表基準點,可包含下列字串: cof:指標的現在位置(Corrent position of File) bof:檔案的起始位置(Beginning of File) eof:檔案的結束位置(End of File) ftell 傳回現在的指標位置 Ex:ftell01.m fid = fopen(test.bin, w); count = fwrite(fid, randperm(10), int32); ftell(fid) ans = 40 40 代表指標已在檔案結束位置。 再移動一次指標位置 欲將指標向前移動 10 bytes,可輸入如下: fseek(fid, -10, cof); ftell(fid) Result: ans = 30 此代表指標的新位置是 30。 本章指令彙整 高階的文字檔案讀寫 csvread/csvwrite 讀寫以逗點分界欄位的數值資料檔案 dlmreadd/lmwrite 讀寫以特定字元來當分界欄位的數值資料檔案 textread 讀入固定欄位的文字資料檔 開檔/關檔 fopen 開啟檔案 fclose 關閉檔案 本章指令彙整(cont) 二進制資料 fread 從檔案讀取二進制資料 fwrite 將二進制資料寫入檔案 格式化資料 fscanf 從檔案讀取格式化資料 fprintf 將格式化資料寫入檔案 fgetl 從檔案讀取一列資料,但捨去換行字元 fgets 從檔案讀取一列資料,但保留換行字元 本章指令彙整(cont) 字串 sprintf 將格式化資料寫至字串 sscanf 從字串讀取格式化資料 檔案位置控制 ferror 檔案輸入/輸出的錯誤狀態 feof 測試是否已到檔案結束位置 fseek 設定檔案定位器 本章指令彙整(cont) ftell 讀取檔案定位器 frewind 回轉檔案定位器 暫存檔案/目錄 tempdir 取得暫存目錄的名字 tempname 取得暫存檔案的名字 Ex:fscanf01.m 有一文字檔 test.txt 如下: 1 4 9 16 25 36 49 64 81 100 欲使用 fscanf 指令讀取其內容,可輸入如下: fid = fopen(test.txt, r); myData = fscanf(fid, %g); fclose(fid); myData % 顯示 myData 執行結果 myData = 1 4 9 16 25 36 49 64 81 100 上例顯示了 MATLAB 的 fscanf 指令和 C 的 fscanf 指令的最大不同: MATLAB 的 fscanf 指令是向量化的(Vectorized) 只要讀入資料的型態正確,MATLAB 的 fscanf 指令會一再執行 同時把所得結果存放於一個向量並回傳。 sscanf sscanf 函數和 fscanf 的功能很類似 sscanf 函數從字串(Strings)中讀取資料 ex:sscanf01.m str = num2str([pi, sqrt(2), log10(3)]) %建立一字串str retrieved = sscanf(str, %g) %擷取str中的double str = 3.1416 1.4142 0.47712 retrieved = 3.1416 1.4142 0.4771 寫入 ASCII 檔案 fprintf 函數可將資料依格式指定字串來寫入 ASCII 檔案,其使用語法如下: fprintf(fid, format, y) 其中 fid 是欲寫入之檔案的辨識碼 format 是格式指定字串,用以指定資料寫至檔案的格式 y 是 MATLAB 的資料變數 常用的格式指定字串有下列幾種: %e:科學記號,即將數值表示成 a×10b 的形式 %f:固定欄寬(含整數與小數部份)的表示法 %g:自動選取 %e 或 %f 其他各種格式指定字串可輸入 help fprintf 來得到詳細的線上說明。 應用:將平方根表寫入檔案 Ex:fprintf01.m x = 1:10; y = [x; sqrt(x)]; fid = fopen(squareRootTable.txt, w); fprintf(fid, Table of square root:\r\n);

您可能关注的文档

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档