




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1數(shù)學(xué)軟件 Matlab 文件操作2內(nèi)容提要 文件的打開與關(guān)閉 文本文件的寫與讀 二進制文件的寫與讀3 文件操作是一種重要的輸入輸出方式,Matlab 提供了一系列輸入輸出函數(shù),專門用于文件操作。 Matlab文件操作三步驟: Matlab中的輸入輸出函數(shù)是以 C 語言標(biāo)準(zhǔn)庫函數(shù)中的輸入輸出函數(shù)為基礎(chǔ)開發(fā)的,所以這些函數(shù)與 C 語言的輸入輸出函數(shù)相類似。Matlab 文件操作介紹(1) 打開文件(2) 對文件進行讀寫操作(3) 關(guān)閉文件4 打開方式有(若不指定打開方式,則表示只讀) :fid=fopen(文件名,打開方式)r只讀,文件必須存在(缺省的打開方式)w寫文件,若文件已存在則原內(nèi)容將被
2、覆蓋;若文件不存在則新建一個a在文件末尾添加,文件若不存在則新建一個r+可讀可寫,文件必須存在w+可讀可寫,若文件已存在則原內(nèi)容將被覆蓋;若文件不存在則新建一個a+可讀可寫可添加,文件若不存在則新建一個文件的打開 其中文件名用字符串形式表示(可以帶路徑名) 文件的打開5 fid 為文件句柄,通過它才能對該文件進行操作 如果句柄值大于 0,則表示文件打開成功; 若文件打開失敗,fid 的返回值為 -1。 有兩個標(biāo)準(zhǔn)代碼文件,不需打開就可以直接使用,分別為:fid=1 標(biāo)準(zhǔn)輸出文件,fid=2 標(biāo)準(zhǔn)錯誤文件。文件的打開fid=fopen(output.txt,wt+);fprintf(fid,He
3、llo world!n);fclose(fid);fprintf(1,Hello world!n);fprintf(2,Hello world!n);fid=fopen(文件名,打開方式)6文件的關(guān)閉 其中 fid 為所要關(guān)閉的文件的句柄 status 為關(guān)閉文件的返回代碼,若成功則為 0,否則為 -1 文件操作結(jié)束后一定要關(guān)閉status=fclose(fid); 文件的關(guān)閉7內(nèi)容提要 文件的打開與關(guān)閉 文本文件的寫與讀 二進制文件的寫與讀8 將指定的變量按指定的格式寫入文本文件中 若省略 fid,則表示在屏幕上輸出 count 返回所寫入的數(shù)據(jù)的個數(shù)(可以省略) format 用來指定寫數(shù)
4、據(jù)時采用的格式,通常由三部分組成 普通字符串、格式字符串、轉(zhuǎn)義字符count=fprintf(fid,format,輸出變量列表)文本文件的寫入 向文本文件中寫數(shù)據(jù)x=3.14; str=math; fid=fopen(output.txt,wt);fprintf(fid,x=%f, str=%sn, x, str);fclose(fid);9 數(shù)據(jù)輸出時采用的格式(format)文本文件的寫入 flags (可選) width and precision (可選) conversion character (格式說明符,必須) (1) 普通字符串:按原樣輸出(2) 格式字符串:指定變量的輸出
5、格式,以 % 開頭,包括(3) 轉(zhuǎn)義字符:輸出特殊符號,如換行等,常見的有:b退后一格t水平制表符f換頁反斜杠n換行單引號r回車%百分號10格式字符串fprintf(x= %-12.5f n, x)以 % 開頭flagfield widthprecision格式說明符- :左對齊+ :輸出符號0 :空白處添 0空格:前面加一空格字段寬度指定小數(shù)點后位數(shù) 格式字符串示例11格式說明符 常見的格式說明符c字符型g浮點數(shù)(自動)d十進制整數(shù)o八進制e浮點數(shù)(科學(xué)計數(shù)法)s字符串f浮點數(shù)(小數(shù)形式)x/X十六進制x=sqrt(2);fid=fopen(out2.txt,wt);fprintf(fid,
6、x=%12.5f, n, x);fprintf(fid,x=%-12.5f, n, x);fclose(fid);例:12x=0:0.1:1; y=exp(x);fid=fopen(output.txt,wt);fprintf(fid, x exp(x)n);for k=1:length(x) fprintf(fid,%6.2f %12.8fn, x(k),y(k);endfclose(fid);例:文本文件寫入舉例 注:格式的重復(fù)使用x=0:0.1:1; y=exp(x); z=x; y;fid=fopen(output.txt,wt);fprintf(fid, x exp(x)n); fp
7、rintf(fid,%6.2f %12.8fn, z);fclose(fid);13 A 用來存放讀取的數(shù)據(jù) count 返回讀取數(shù)據(jù)的個數(shù),為可選項 fid 為文件句柄 size 為可選項,若缺省,則讀取整個文件, 若給出,則取值可以是:A,count=fscanf(fid,format,size) A=fscanf(fid,format,size)文本文件的讀取N讀取 N 個數(shù)據(jù),組成一個列向量Inf讀取整個文件,組成一個列向量m,n讀取 m n 個數(shù)據(jù),組成到一個 m n 矩陣,按列存放 從文本文件中讀取數(shù)據(jù)14文本文件讀取舉例x=0:0.1:1; y=exp(x); z=x; y;%
8、寫文件fid=fopen(output.txt,wt);fprintf(fid,%6.2f %12.8fn, z); status=fclose(fid);% 讀文件fid=fopen(output.txt,rt);A=fscanf(fid,%f); % 注意格式字符串% A=fscanf(fid,%f,2,11);status=fclose(fid);例:15內(nèi)容提要 文件的打開與關(guān)閉 文本文件的寫與讀 二進制文件的寫與讀16 按指定的數(shù)據(jù)類型將矩陣 A 中的元素寫入到文件中。 其中 count 返回所寫入的數(shù)據(jù)元素個數(shù)(可省略)count=fwrite(fid,A,precision)A=
9、magic(5); fid=fopen(magic5.dat,wb);fwrite(fid,A,int8);fclose(fid);fid=fopen(magic5.dat,rb);B,count=fread(fid,5,inf,int8);fclose(fid);二進制文件的寫入例: 向二進制文件中寫入數(shù)據(jù)17 precision 代表寫入的數(shù)據(jù)的類型,缺省為 ucharuchar無符號字符uint1616位無符號整數(shù)schar帶符號字符uint3232位無符號整數(shù)int88位帶符號整數(shù)uint6464位無符號整數(shù)int1616位帶符號整數(shù)float3232位浮點數(shù)int3232位帶符號整數(shù)
10、float6464位浮點數(shù)int6464位帶符號整數(shù)double64位雙精度數(shù)uint88位無符號整數(shù)二進制文件18char帶符號字符short16位帶符號整數(shù)int32位帶符號整數(shù)long32或64位帶符號整數(shù)ushort16位無符號整數(shù)uint32位無符號整數(shù)ulong32或64位無符號整數(shù)float32位浮點數(shù) 以下數(shù)據(jù)類型與使用的平臺有關(guān):二進制文件19A,count=fread(fid,size,precision) A=fread(fid,size,precision)N讀取 N 個數(shù)據(jù),組成一個列向量Inf讀取整個文件,組成一個列向量m,n讀取 m n 個數(shù)據(jù)到一個 m n 矩陣
11、中,按列存放二進制文件的讀 A 用來存放讀取的數(shù)據(jù) count 返回讀取數(shù)據(jù)的個數(shù),可選項 fid 為文件句柄 size 為可選項,缺省為讀取整個文件。取值可以是: 從二進制文件中讀取數(shù)據(jù)20fid=fopen(output.dat,rb);A=fread(fid,100,double);status=fclose(fid);fid=fopen(output.dat,rb);A,count=fread(fid,100,100,double);status=fclose(fid);例:二進制文件讀寫舉例21 打開文件讀寫數(shù)據(jù)時,需要判斷和控制文件的讀寫位置,如數(shù)據(jù)是否讀完,或者需要讀寫指定位置上
12、的數(shù)據(jù)等。 在讀寫文件時,Matlab 自動創(chuàng)建一個文件位置指針來管理和維護文件讀寫數(shù)據(jù)的起始位置。 Matlab 提供了幾個文件位置指針定位操作函數(shù): fseek、ftell 、 frewind 和 feof讀寫的定位 讀寫的定位22status=fseek(fid,offset,origin) fid 為文件句柄 offset 表示位置指針相對偏移的字節(jié)數(shù),若為正表示向文件尾方偏移,若為負表示向文件頭方向偏移fseek cof 表示當(dāng)前位置, bof 表示文件的開始位置, eof 表示文件末尾; 若定位成功,status 返回值為 0,否則返回 -1 origin 表示位置指針移動的參照位置,有三種取值: 讀寫的定位23frewind(fid)eofstat=ftell(fid) 判斷文件位置指針是否達到文件結(jié)束位置,若文件位置指針已在文件末尾,則返回 1,否則返回 0position=ftell(fid) 返回值為從文件開始到指針當(dāng)前位置的字節(jié)數(shù) 將位置指針返回到文件的起始位置ftell、frewind 和 feof 讀寫的定位24
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級班委會的建設(shè)與培養(yǎng)計劃
- 企業(yè)安全文化建設(shè)與保安工作關(guān)系計劃
- 工作計劃與目標(biāo)達成的關(guān)系
- 生物催化過程優(yōu)化與控制的原則
- 2025年內(nèi)螺紋銅管項目合作計劃書
- 餐飲行業(yè)供應(yīng)鏈優(yōu)化解決方案協(xié)議
- Soyasaponin-Aa-Standard-生命科學(xué)試劑-MCE
- 2-Hydroxy-atrazine-Standard-生命科學(xué)試劑-MCE
- 私人醫(yī)生健康管理服務(wù)合同
- 小學(xué)高年級語文寫作技巧征文
- 標(biāo)準(zhǔn)太陽能光譜數(shù)據(jù)
- 小學(xué)校長新學(xué)期工作思路3篇
- 四年級下冊數(shù)學(xué)應(yīng)用題專項練習(xí)
- 思想道德與法治課件:第四章 第二節(jié) 社會主義核心價值觀的顯著特征
- 煤礦安全生產(chǎn)事故風(fēng)險辨識評估和應(yīng)急資源調(diào)查報告
- 建筑結(jié)構(gòu)課程設(shè)計說明書實例完整版(本)
- 橋梁橋臺施工技術(shù)交底(三級)
- 《一起長大的玩具》原文全文閱讀.docx
- 醋酸鈉化學(xué)品安全技術(shù)說明書MSDS
- 頂進法施工用鋼筋溷凝土管結(jié)構(gòu)配筋手冊
- 機動車駕駛證換證申請表(全國統(tǒng)一版)
評論
0/150
提交評論