版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)學(xué)軟件Matlab——文件操作1內(nèi)容提要
文件的打開與關(guān)閉文本文件的寫與讀
二進(jìn)制文件的寫與讀2文件操作是一種重要的輸入輸出方式,Matlab
提供了一系列輸入輸出函數(shù),專門用于文件操作。
Matlab文件操作三步驟:
Matlab中的輸入輸出函數(shù)是以C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)中的輸入輸出函數(shù)為基礎(chǔ)開發(fā)的,所以這些函數(shù)與C語(yǔ)言的輸入輸出函數(shù)相類似。Matlab文件操作介紹(1)打開文件(2)對(duì)文件進(jìn)行讀寫操作(3)關(guān)閉文件3打開方式有(若不指定打開方式,則表示只讀):fid=fopen(文件名,打開方式)文件的打開其中文件名用字符串形式表示(可以帶路徑名)文件的打開4
fid
為文件句柄,通過(guò)它才能對(duì)該文件進(jìn)行操作如果句柄值大于0,則表示文件打開成功;若文件打開失敗,fid
的返回值為-1。有兩個(gè)標(biāo)準(zhǔn)代碼文件,不需打開就可以直接使用,分別為:fid=1
標(biāo)準(zhǔn)輸出文件,fid=2
標(biāo)準(zhǔn)錯(cuò)誤文件。文件的打開fid=fopen('output.txt','wt+');fprintf(fid,'Helloworld!\n');fclose(fid);fprintf(1,'Helloworld!\n');fprintf(2,'Helloworld!\n');fid=fopen(文件名,打開方式)5文件的關(guān)閉其中fid
為所要關(guān)閉的文件的句柄
status
為關(guān)閉文件的返回代碼,若成功則為0,否則為-1文件操作結(jié)束后一定要關(guān)閉status=fclose(fid);文件的關(guān)閉6內(nèi)容提要
文件的打開與關(guān)閉文本文件的寫與讀
二進(jìn)制文件的寫與讀7將指定的變量按指定的格式寫入文本文件中若省略fid,則表示在屏幕上輸出
count
返回所寫入的數(shù)據(jù)的個(gè)數(shù)(可以省略)
format
用來(lái)指定寫數(shù)據(jù)時(shí)采用的格式,通常由三部分組成
普通字符串、格式字符串、轉(zhuǎn)義字符count=fprintf(fid,format,輸出變量列表)文本文件的寫入向文本文件中寫數(shù)據(jù)x=3.14;str='math';fid=fopen('output.txt','wt');fprintf(fid,'x=%f,str=%s\n',x,str);fclose(fid);8
數(shù)據(jù)輸出時(shí)采用的格式(format)文本文件的寫入
flags
(可選)
width
and
precision(可選)
conversion
character(格式說(shuō)明符,必須)(1)普通字符串:按原樣輸出(2)格式字符串:指定變量的輸出格式,以%
開頭,包括(3)轉(zhuǎn)義字符:輸出特殊符號(hào),如換行等,常見(jiàn)的有:9格式字符串fprintf('x=%-12.5f\n',x)以%
開頭flagfieldwidthprecision格式說(shuō)明符-
:左對(duì)齊+
:輸出符號(hào)0
:空白處添0空格:前面加一空格字段寬度指定小數(shù)點(diǎn)后位數(shù)格式字符串示例10格式說(shuō)明符
常見(jiàn)的格式說(shuō)明符x=sqrt(2);fid=fopen('out2.txt','wt');fprintf(fid,'x=%12.5f,\n',x);fprintf(fid,'x=%-12.5f,\n',x);fclose(fid);例:11x=0:0.1:1;y=exp(x);fid=fopen('output.txt','wt');fprintf(fid,'xexp(x)\n');fork=1:length(x)
fprintf(fid,'%6.2f%12.8f\n',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,'xexp(x)\n');fprintf(fid,'%6.2f%12.8f\n',z);fclose(fid);12
A
用來(lái)存放讀取的數(shù)據(jù)
count
返回讀取數(shù)據(jù)的個(gè)數(shù),為可選項(xiàng)
fid
為文件句柄
size
為可選項(xiàng),若缺省,則讀取整個(gè)文件,
若給出,則取值可以是:[A,count]=fscanf(fid,format,size)A=fscanf(fid,format,size)文本文件的讀取從文本文件中讀取數(shù)據(jù)13文本文件讀取舉例x=0:0.1:1;y=exp(x);z=[x;y];%寫文件fid=fopen('output.txt','wt');fprintf(fid,'%6.2f%12.8f\n',z);
status=fclose(fid);%讀文件fid=fopen('output.txt','rt');A=fscanf(fid,'%f');%
注意格式字符串%A=fscanf(fid,'%f',[2,11]);status=fclose(fid);例:14內(nèi)容提要
文件的打開與關(guān)閉
文本文件的寫與讀
二進(jìn)制文件的寫與讀15按指定的數(shù)據(jù)類型將矩陣A
中的元素寫入到文件中。
其中count
返回所寫入的數(shù)據(jù)元素個(gè)數(shù)(可省略)count=fwrite(fid,A,precision)A=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);二進(jìn)制文件的寫入例:向二進(jìn)制文件中寫入數(shù)據(jù)16
precision
代表寫入的數(shù)據(jù)的類型,缺省為uchar二進(jìn)制文件17以下數(shù)據(jù)類型與使用的平臺(tái)有關(guān):二進(jìn)制文件18[A,count]=fread(fid,size,precision)A=fread(fid,size,precision)二進(jìn)制文件的讀
A
用來(lái)存放讀取的數(shù)據(jù)
count
返回讀取數(shù)據(jù)的個(gè)數(shù),可選項(xiàng)
fid
為文件句柄
size
為可選項(xiàng),缺省為讀取整個(gè)文件。取值可以是:從二進(jìn)制文件中讀取數(shù)據(jù)19fid=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);例:二進(jìn)制文件讀寫舉例20打開文件讀寫數(shù)據(jù)時(shí),需要判斷和控制文件的讀寫位置,如數(shù)據(jù)是否讀完,或者需要讀寫指定位置上的數(shù)據(jù)等。在讀寫文件時(shí),Matlab自動(dòng)創(chuàng)建一個(gè)文件位置指針來(lái)管理和維護(hù)文件讀寫數(shù)據(jù)的起始位置。
Matlab提供了幾個(gè)文件位置指針定位操作函數(shù):
fseek、ftell、
frewind
和feof讀寫的定位讀寫的定位21status=fseek(fid,offset,origin)
fid
為文件句柄
offset
表示位置指針相對(duì)偏移的字節(jié)數(shù),若為正表示向文件尾方偏移,若為負(fù)表示向文件頭方向偏移fseek
'cof'
表示當(dāng)前位置,
'bof'
表示文件的開始位置,
'eof'
表示文件末尾;若定位成功,status
返回值為0,否則返回-1
origin
表示位置指針移動(dòng)的參照位置,有三種取值:讀寫的定位22frewind(fid)eofstat=ftell(fid)判斷文件位置指針是否達(dá)到文件結(jié)束位置,若文件位置指針已在文件末尾,則返回1,否則返回0position=ftell(fid)返回值為從文件開始到指針當(dāng)前位置的字節(jié)數(shù)將位置指針?lè)祷氐轿募钠鹗嘉恢胒tell、frewind和feof讀寫的定位23上機(jī)作業(yè)2、從課程主頁(yè)上下載二進(jìn)制數(shù)據(jù)文件dat
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店裝修中的成品保護(hù)措施方案
- 職業(yè)培訓(xùn)機(jī)構(gòu)疫情防控復(fù)課方案
- 自動(dòng)化飼喂系統(tǒng)施工方案
- 個(gè)人借款合同-文書模板
- 城市箱變建設(shè)及安全施工方案
- 環(huán)保設(shè)施動(dòng)火作業(yè)安全方案
- 檢察院司機(jī)班使用管理自查報(bào)告
- 可再生能源項(xiàng)目電力通信管道方案
- 用透射光柵測(cè)定光波波長(zhǎng)實(shí)驗(yàn)報(bào)告
- 設(shè)計(jì)一節(jié)幼兒園中班立夏的活動(dòng)方案
- 微分幾何彭家貴課后題答案
- 鐵路箱梁運(yùn)架施工準(zhǔn)備驗(yàn)收標(biāo)準(zhǔn)
- 中國(guó)大唐集團(tuán)公司安全生產(chǎn)責(zé)任制管理辦法
- 壓力容器爆炸應(yīng)急演練記錄
- 武藤系列寫真機(jī)簡(jiǎn)明操作手冊(cè)18頁(yè)
- 變更通知單(ECN) 模板
- fob與cifcfr 的區(qū)別及信用證
- 已解密_彩盒性能技術(shù)規(guī)范
- 我的引路人中考滿分作文600字5篇
- 抗美援越烈士們永垂不朽
- 設(shè)備能力指數(shù)(CMK)計(jì)算表
評(píng)論
0/150
提交評(píng)論