matlab中將數(shù)據(jù)保存為txt或dat格式四種方案知識(shí)分享_第1頁(yè)
matlab中將數(shù)據(jù)保存為txt或dat格式四種方案知識(shí)分享_第2頁(yè)
matlab中將數(shù)據(jù)保存為txt或dat格式四種方案知識(shí)分享_第3頁(yè)
matlab中將數(shù)據(jù)保存為txt或dat格式四種方案知識(shí)分享_第4頁(yè)
matlab中將數(shù)據(jù)保存為txt或dat格式四種方案知識(shí)分享_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。matlab中將數(shù)據(jù)保存為txt或dat格式四種方案-matlab中將數(shù)據(jù)保存為txt或dat格式四種方案胡總結(jié)網(wǎng)上各種資源,列出以下的四種方法(以txt為例)。第一種方法:save(最簡(jiǎn)單基本的)具體的命令是:用save*.txt-asciixx為變量*.txt為文件名,該文件存儲(chǔ)于當(dāng)前工作目錄下,再打開(kāi)就可以打開(kāi)后,數(shù)據(jù)有可能是以指數(shù)形式保存的.例子:a=17241815;23571416;46132022;101219213;11182529;saveafile.txt-asciia;%保存文本文

2、檔的文件名afile.txt打開(kāi)之后,是這樣的:1.7000000e+0012.4000000e+0011.0000000e+0008.0000000e+0001.5000000e+0012.3000000e+0015.0000000e+0007.0000000e+0001.4000000e+0011.6000000e+0014.0000000e+0006.0000000e+0001.3000000e+0012.0000000e+0012.2000000e+0011.0000000e+0011.2000000e+0011.9000000e+0012.1000000e+0013.0000000e

3、+0001.1000000e+0011.8000000e+0012.5000000e+0012.0000000e+0009.0000000e+000第二種方法:dlmwritedlmwrite(a.txt,a,precision,%10.0f)或者是dlmwrite(a.txt,a,delimiter,t)對(duì)于只有一行或者一列的數(shù)據(jù),很適用,但是多行的,就亂了網(wǎng)上有很多這一類似的問(wèn)題,但是都不是很理想第三種方法:fopen+fprintf(最常用)下面主要介紹這種方法,由以下的前兩種情況最終導(dǎo)出第三種情況可以完美的解決以上問(wèn)題。以上面的例子為例:第一種情況:a=17241815;2357141

4、6;46132022;101219213;11182529;fid=fopen(b.txt,wt);fprintf(fid,%gn,a);n換行fclose(fid);然后用寫字板打開(kāi)b.txt,內(nèi)容如下:為列向量17234101124561218171319258142021215162239第二種情況:對(duì)上面的命令做一下改動(dòng):n換行改為t,table鍵fid=fopen(b.txt,w);fprintf(fid,%gt,a);fclose(fid);然后用寫字板打開(kāi)b.txt,內(nèi)容如下:為行向量:17234101124561218171319258142021215162239第三種情況:

5、(最終程序)綜合上面的兩個(gè)情況,我們編寫以下命令:fid=fopen(b.txt,wt);%寫入的文件,各函數(shù)后面有說(shuō)明m,n=size(a);fori=1:1:mforj=1:1:nifj=nfprintf(fid,%gn,a(i,j);elsefprintf(fid,%gt,a(i,j);endendendfclose(fid);然后用寫字板打開(kāi)b.txt,內(nèi)容如下:矩陣17241815235714164613202210121921311182529說(shuō)明:以上操作都是在當(dāng)前的工作目錄下完成!下面給出最一般的模型,大家可以試著自己操作,如果需要dat格式,直接把txt換為dat就可以:fi

6、d=fopen(C:DocumentsandSettingsTname.txt,wt);%寫入文件路徑matrix=input_mattrix%input_matrix為待輸出矩陣m,n=size(matrix);fori=1:1:mforj=1:1:nifj=nfprintf(fid,%gn,matrix(i,j);elsefprintf(fid,%gt,matrix(i,j);endendendfclose(fid);下面附了具體的matlab的fopen和fprintf函數(shù)具體解釋,當(dāng)然help一下是可以知道的,只是為了方便大家matlab中fopen函數(shù)在指定文件打開(kāi)的實(shí)例如下:*1)

7、“fopen”打開(kāi)文件,賦予文件代號(hào)。語(yǔ)法1:FID=FOPEN(filename,permission)用指定的方式打開(kāi)文件FID=+N(N是正整數(shù)):表示文件打開(kāi)成功,文件代號(hào)是N.FID=-1:表示文件打開(kāi)不成功。FID在此次文件關(guān)閉前總是有效的。如以讀方式打開(kāi),matlab首先搜索工作目錄,其次搜索matlab的其他目錄,“permission”是打開(kāi)方式參數(shù)。打開(kāi)方式參數(shù)由以下字符串確定:r讀出w寫入(文件若不存在,自動(dòng)創(chuàng)建)a后續(xù)寫入(文件若不存在,自動(dòng)創(chuàng)建)r+讀出和寫入(文件應(yīng)已存在)w+重新刷新寫入,(文件若不存在,自動(dòng)創(chuàng)建)a+后續(xù)寫入(文件若不存在,自動(dòng)創(chuàng)建)w重新寫入,

8、但不自動(dòng)刷新a后續(xù)寫入,但不自動(dòng)刷新文件的存儲(chǔ)格式:文件打開(kāi)的默認(rèn)方式是:二進(jìn)制。以文本方式打開(kāi),可以在方式參數(shù)“permission”中加入“t”文件將,如“rt”,“wt+”matlab中fprintf函數(shù)的具體使用方法實(shí)例如下:fprintf函數(shù)可以將數(shù)據(jù)按指定格式寫入到文本文件中。其調(diào)用格式為:數(shù)據(jù)的格式化輸出:fprintf(fid,format,variables)按指定的格式將變量的值輸出到屏幕或指定文件fid為文件句柄,若缺省,則輸出到屏幕1forstandardoutput(thescreen)or2forstandarderror.IfFIDisomitted,output

9、goestothescreen.format用來(lái)指定數(shù)據(jù)輸出時(shí)采用的格式%d整數(shù)%e實(shí)數(shù):科學(xué)計(jì)算法形式%f實(shí)數(shù):小數(shù)形式%g由系統(tǒng)自動(dòng)選取上述兩種格式之一%s輸出字符串fprintf(fid,format,A)說(shuō)明:fid為文件句柄,指定要寫入數(shù)據(jù)的文件,format是用來(lái)控制所寫數(shù)據(jù)格式的格式符,與fscanf函數(shù)相同,A是用來(lái)存放數(shù)據(jù)的矩陣。例6.9創(chuàng)建一個(gè)字符矩陣并存入磁盤,再讀出賦值給另一個(gè)矩陣。a=string;fid=fopen(d:char1.txt,w);fprintf(fid,%s,a);fclose(fid);fid1=fopen(d:char1.txt,rt);fid1

10、=fopen(d:char1.txt,rt);b=fscanf(fid1,%s)b=stringmatlab讀txt文件fid=fopen(fx.txt,r);%得到文件號(hào)f,count=fscanf(fid,%f%f,12,90);%把文件號(hào)1的數(shù)據(jù)讀到f中。其中f是1290的矩陣%這里%f%f表示讀取數(shù)據(jù)的形勢(shì),他是按原始數(shù)據(jù)型讀出fclose(fid);%關(guān)閉文件另外有的txt文件還可以用load來(lái)打開(kāi)其語(yǔ)句為f=load(fx.txt)字符串操作函數(shù)1.函數(shù)eval可以用來(lái)執(zhí)行用字符串表示的表達(dá)式2.函數(shù)deblank可以去掉字符串末尾的所有空格3.函數(shù)findstr可以用來(lái)在長(zhǎng)字符串

11、中查找一個(gè)短的字符串,并返回相應(yīng)的位置4.函數(shù)isstr可以用來(lái)判斷變量是否為字符串5.函數(shù)isletter可以用來(lái)判斷字符串中各個(gè)元素是否為字母6.函數(shù)isspace可以用來(lái)判斷字符串元素是否為空格符7.函數(shù)lower和upper可以把字符串中的字母轉(zhuǎn)為小寫格式和大寫格式8.函數(shù)strcat可以把多個(gè)字符串在水平方向上依次連接起來(lái)9.函數(shù)strvcat可以把多個(gè)字符串按豎直方向連接起來(lái)10.函數(shù)strcmp可以用來(lái)進(jìn)行字符串的比較,返回1或011.函數(shù)strcmpi可以用來(lái)忽略英文字母的大小寫方式比較字符串12.函數(shù)strncmp可以用來(lái)比較字符串前N個(gè)字符是否相同13.函數(shù)strjust可

12、以用來(lái)調(diào)整字符串矩陣的對(duì)齊方式14.函數(shù)strmatch可以用來(lái)尋找和目標(biāo)字符串匹配的行15.函數(shù)strrep可以實(shí)現(xiàn)字符串的查找和替代功能16.函數(shù)strtok可以找出字符串第一個(gè)空格符前的字符串17.函數(shù)texlabel可以把字符串轉(zhuǎn)換成tex軟件的格式18.不同進(jìn)制間的轉(zhuǎn)換,bin2hex,bin2dec(字符串);dec2hex(數(shù))=字符串;即十進(jìn)制數(shù)不為字符串,其它進(jìn)制為字符串19.函數(shù)bitget可以用來(lái)獲取二進(jìn)制的數(shù)位C=bitget(A,bit),A為一個(gè)無(wú)符號(hào)整形數(shù)據(jù)20.函數(shù)bitset可以用來(lái)設(shè)定某個(gè)二進(jìn)制數(shù)位的值C=bitset(A,bit)指定數(shù)位的數(shù)值取反C=bitset(A,bit,V)指定數(shù)位的數(shù)值被V替換第四種方法:(數(shù)據(jù)少了可以)例如:a=17241815;23571416;46132022;101219213;11182529;是一個(gè)55矩陣17241815235714164613202210121921311182529fid=fopen(Tname.txt,wt);fprintf(fid,%8.4f%8.4f%8.4f%8.4f%8.4fn,a)%輸出矩陣fclose(fid)%關(guān)閉文件講一下fprintf命令中每

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論