Matlab高級編程技術教程.ppt

Matlab高級編程技術教程.ppt

ID:56527678

大?。?28.00 KB

頁數(shù):36頁

時間:2020-06-27

Matlab高級編程技術教程.ppt_第1頁
Matlab高級編程技術教程.ppt_第2頁
Matlab高級編程技術教程.ppt_第3頁
Matlab高級編程技術教程.ppt_第4頁
Matlab高級編程技術教程.ppt_第5頁
資源描述:

《Matlab高級編程技術教程.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、第8章高級編程技術1本章目標掌握MATLAB文件處理方法理解MATLAB應用程序接口的原理了解結構和元胞這兩種復雜數(shù)據(jù)類型了解面向對象編程的基本概念2主要內容8.1文件8.2應用程序接口38.1文件文件可分為兩類:文本文件由字符和與字符的顯示格式有關的控制符構成常見擴展名:“TXT”、“BAT”、“HTM”二進制文件二進制文件為非文本文件常見擴展名:“COM”、“EXE”、“BMP”、“WAV”4MATLAB中基本的低級文件I/O指令:1.打開和關閉文件fopen、fclose2.格式讀寫fprintf、fscanf、fgetl、fge

2、ts3.非格式讀寫fread、fwrite4.文件定位和狀態(tài)feof、fseek、ftell、ferror、frewind58.1.1文件的打開與關閉1.fopen函數(shù)fid=fopen(filename,permission)[fid,message]=fopen(filename,permssion)[filename,permission,machineformat]=fopen(fid)fid=fopen('all')2.fclose函數(shù)status=fclose(fid)status=fclose('all')例:打開一個名為

3、std.dat的數(shù)據(jù)文件并進行讀操作,命令為:fid=fopen('my.txt','r')68.1.2格式化數(shù)據(jù)的讀寫fprintf函數(shù)count=fprintf(fid,format,A...)fscanf函數(shù)[A,count]=fscanf(fid,format,size)7例8-1計算當x=[01]時f(x)=ex的值,并將結果寫入到文件my.txt中。程序x=0:0.1:1;y=[x;exp(x)];%y有兩行數(shù)據(jù)fid=fopen('my.txt','w');fprintf(fid,'%6.2f%12.8f',y);fc

4、lose(fid);8例8-2從上例中生成的文件my.txt中讀取數(shù)據(jù),并將結果輸出到屏幕。程序fid=fopen('my.txt','r');[a,count]=fscanf(fid,'%f%f',[2inf]);fprintf(1,'%f%f',a);fclose(fid);輸出同例8-1文件中的數(shù)據(jù)格式。98.1.3文件定位和文件狀態(tài)1.feof函數(shù):檢測文件是否已經(jīng)結束status=feof(fid)2.ferror函數(shù):用于查詢文件的輸入、輸出錯誤信息msg=ferror(fid)3.frewind函數(shù):使位置指針重新返回

5、文件的開頭frewind(fid)4.fseek函數(shù):設置文件的位置指針status=fseek(fid,offset,origin)5.ftell函數(shù):用于查詢當前文件指針的位置position=ftell(fid);10例8-3輸出文件的大小。程序fid=fopen('my.txt','r');fseek(fid,0,'eof');x=ftell(fid);fprintf(1,'FileSize=%d',x);frewind(fid);x=ftell(fid);fprintf(1,'FilePosition=%d',x);f

6、close(fid);輸出FileSize=231FilePosition=0118.1.4按行讀取數(shù)據(jù)1.fgetl函數(shù):按行從文件中讀取數(shù)據(jù),但不讀取換行符。line=fgetl(fid)2.fgets函數(shù):用于從文件中讀取行、保留換行符并把行作為字符串返回。(1)line=fgets(fid)(2)line=fgets(fid,nchar)12例8-4編寫一個程序,用于讀取例8-1生成的數(shù)據(jù)。程序fid=fopen('my.txt','r');while~feof(fid)%在文件沒有結束時按行讀取數(shù)據(jù)s=fgets(fid);f

7、printf(1,'%s',s);endfclose(fid);輸出同例8-1文件中的數(shù)據(jù)格式。138.1.5二進制數(shù)據(jù)文件的讀寫fwrite函數(shù):用于向一個文件寫入二進制數(shù)據(jù)count=fwrite(fid,A,precision)。fread函數(shù):用于從文件中讀二進制數(shù)據(jù)[A,count]=fread(fid,size,precision)注意:使用函數(shù)fread()和fwrite()讀寫文件時,必須以二進制方式打開文件14例8-5將5行5列“魔方陣”存入二進制文件中。程序fid=fopen('my.dat','w');a=magi

8、c(5);fwrite(fid,a,'long');fclose(fid);15例8-6從二進制文件中讀取“魔方陣”。程序fid=fopen('my.dat','r');[A,count]=fread(fi

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。