資源描述:
《《數(shù)學(xué)軟件MATLAB》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、數(shù)學(xué)實(shí)驗(yàn)Matlab文件操作文件操作是一種重要的輸入輸出方式,Matlab提供了一系列輸入輸出函數(shù),專門(mén)用于文件操作。Matlab文件操作主要有三個(gè)步驟:首先打開(kāi)文件,然后對(duì)文件進(jìn)行讀寫(xiě)操作,最后要關(guān)閉文件。Matlab中的輸入輸出函數(shù)是以C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)中的輸入輸出函數(shù)為基礎(chǔ)開(kāi)發(fā)的,所以這些函數(shù)與C語(yǔ)言的輸入輸出函數(shù)相類似。Matlab文件操作介紹常見(jiàn)的打開(kāi)方式有:fid=fopen(文件名,打開(kāi)方式)'r'只讀,文件必須存在(缺省的打開(kāi)方式)'w'寫(xiě)文件,若文件已存在則原內(nèi)容將被覆蓋;若文件不存在則新建一個(gè)'a
2、'在文件末尾添加,文件若不存在則新建一個(gè)'r+'可讀可寫(xiě),文件必須存在'w+'可讀可寫(xiě),若文件已存在則原內(nèi)容將被覆蓋;若文件不存在則新建一個(gè)'a+'可讀可寫(xiě)可添加,文件若不存在則新建一個(gè)文件的打開(kāi)其中文件名用字符串形式表示(可以帶路徑名)fid為文件句柄,其它函數(shù)可以用它對(duì)該文件進(jìn)行操作。如果句柄值大于0,則表示文件打開(kāi)成功;若打開(kāi)失敗,fid的返回值為-1。有兩個(gè)標(biāo)準(zhǔn)代碼文件,不需打開(kāi)就可以直接使用,分別為:fid=1標(biāo)準(zhǔn)輸出文件,fid=2標(biāo)準(zhǔn)錯(cuò)誤文件。文件的打開(kāi)fid=fopen('output.txt','
3、wt+');fprintf(fid,'Helloworld!');fclose(fid);fprintf(1,'Helloworld!');fprintf(2,'Helloworld!');文件有兩種格式:二進(jìn)制文件(b)和文本文件(t)。在Windows下,打開(kāi)文件的默認(rèn)是二進(jìn)制格式,如果要以文本方式打開(kāi),則必須在打方式中加上字符't'。若不指定打開(kāi)方式,則表示只讀。文件的打開(kāi)fid=fopen('output.txt','wt+');其中fid為所要關(guān)閉的文件的句柄,status為關(guān)閉文件的返回代碼
4、,若關(guān)閉成功則為0,否則為-1。status=fclose(fid);文件的關(guān)閉A用來(lái)存放讀取的數(shù)據(jù)count返回讀取數(shù)據(jù)的個(gè)數(shù),為可選項(xiàng)fid為文件句柄size為可選項(xiàng),缺省為讀取整個(gè)文件,若給出,則取值可以是:[A,count]=fscanf(fid,format,size)文本文件的讀取N讀取N個(gè)數(shù)據(jù)到一個(gè)列向量Inf讀取整個(gè)文件[m,n]讀取m?n個(gè)數(shù)據(jù)到一個(gè)m?n矩陣中,按列存放c字符型g浮點(diǎn)數(shù)(自動(dòng))d十進(jìn)制整數(shù)o八進(jìn)制e浮點(diǎn)數(shù)(科學(xué)計(jì)數(shù)法)s字符串f浮點(diǎn)數(shù)(小數(shù)形式)x十六進(jìn)制文本文件的讀取form
5、at用來(lái)控制讀取的數(shù)據(jù)格式,由%加上格式符組成,下表中是常見(jiàn)的格式符,在%之后可以加上數(shù)據(jù)寬度,如%12d將輸出變量按指定的格式寫(xiě)入文件中若省略fid,則表示在屏幕上輸出count返回所寫(xiě)入的數(shù)據(jù)元素個(gè)數(shù)(可省)format以%開(kāi)頭,通常由以下幾個(gè)部分組成:count=fprintf(fid,format,輸出變量列表)flags(optional)Widthandprecisionfields(optional)Conversioncharacter(required)文本文件的寫(xiě)入fprintf舉例fprint
6、f('a=%-12.5f',123.456)format以%開(kāi)頭flagfieldwidthprecision格式說(shuō)明符-:左對(duì)齊+:輸出符號(hào)0:空白處添0空格:前面加一空格字段寬度小數(shù)點(diǎn)后輸出位數(shù)文本文件的寫(xiě)入fprintf命令的格式說(shuō)明符c字符型g浮點(diǎn)數(shù)(自動(dòng))d十進(jìn)制整數(shù)o八進(jìn)制e浮點(diǎn)數(shù)(科學(xué)計(jì)數(shù)法)s字符串f浮點(diǎn)數(shù)(小數(shù)形式)x/X十六進(jìn)制format中還可以使用的特殊字符b退后一格t水平制表符f換頁(yè)\反斜杠換行''單引號(hào)r回車(chē)%%百分號(hào)x=0:0.1:1;y=[x;exp(x)];fi
7、d=fopen('output.dat','wt');fprintf(fid,'xexp(x)');fprintf(fid,'%6.2f%12.8f',y);status=fclose(fid);例:文本文件的寫(xiě)入舉例[A,count]=fread(fid,size,precision)N讀取N個(gè)數(shù)據(jù)到一個(gè)列向量Inf讀取整個(gè)文件[m,n]讀取m?n個(gè)數(shù)據(jù)到一個(gè)m?n矩陣中,按列存放二進(jìn)制文件的讀寫(xiě)A用來(lái)存放讀取的數(shù)據(jù)count返回讀取數(shù)據(jù)的個(gè)數(shù),可選項(xiàng)fid為文件句柄size為可選項(xiàng),缺省為讀取整個(gè)文件,
8、若給出,則取值可以是:precision代表讀取的數(shù)據(jù)的類型,缺省為uchar'uchar'無(wú)符號(hào)字符'uint16'16位無(wú)符號(hào)整數(shù)'schar'帶符號(hào)字符'uint32'32位無(wú)符號(hào)整數(shù)'int8'8位帶符號(hào)整數(shù)'uint64'64位無(wú)符號(hào)整數(shù)'int16'16位帶符號(hào)整數(shù)'float32'32位浮點(diǎn)數(shù)'int32'32位帶符號(hào)整數(shù)'float64'