




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、轉(zhuǎn)載,網(wǎng)上摘錄在使用MATLAB遇到問題時,在網(wǎng)上搜索到很多有用的知識,比起看幫助文件的英文要省力的多了matlab文件操作文件操作是一種重要的輸入輸出方式,即從數(shù)據(jù)文件讀取數(shù)據(jù)或?qū)⒔Y(jié)果寫入數(shù)據(jù)文件。MATLAB提供了一系列低層輸入輸出函數(shù),專門用于文件操作。1、文件的打開與關(guān)閉1打開文件在讀寫文件之前,必須先用fopen函數(shù)打開或創(chuàng)建文件,并指定對該文件進行的操作方式。fopen函數(shù)的調(diào)用格式為:fid=fopen(文件名,打開方式說明:其中fid用于存儲文件句柄值,如果返回的句柄值大于0,則說明文件打開成功。文件名用字符串形式,表示待打開的數(shù)據(jù)文件。常見的打開方式如下:r:只讀方式打開文件
2、(默認的方式,該文件必須已存在。r+:讀寫方式打開文件,打開后先讀后寫。該文件必須已存在。w:打開后寫入數(shù)據(jù)。該文件已存在則更新;不存在則創(chuàng)建。w+:讀寫方式打開文件。先讀后寫。該文件已存在則更新;不存在則創(chuàng)建。a:在打開的文件末端添加數(shù)據(jù)。文件不存在則創(chuàng)建。a+:打開文件后,先讀入數(shù)據(jù)再添加數(shù)據(jù)。文件不存在則創(chuàng)建。另外,在這些字符串后添加一個“t”,如rt或wt+,則將該文件以文本方式打開;如果添加的是“b”,則以二進制格式打開,這也是fopen函數(shù)默認的打開方式。2關(guān)閉文件文件在進行完讀、寫等操作后,應(yīng)及時關(guān)閉,以免數(shù)據(jù)丟失。關(guān)閉文件用fclose函數(shù),調(diào)用格式為:sta=fclose(f
3、id說明:該函數(shù)關(guān)閉fid所表示的文件。sta表示關(guān)閉文件操作的返回代碼,若關(guān)閉成功,返回0,否則返回-1。如果要關(guān)閉所有已打開的文件用fclose(all。2、二進制文件的讀寫操作1寫二進制文件fwrite函數(shù)按照指定的數(shù)據(jù)精度將矩陣中的元素寫入到文件中。其調(diào)用格式為:COUNT=fwrite(fid,A,precision說明:其中COUNT返回所寫的數(shù)據(jù)元素個數(shù)(可缺省,fid為文件句柄,A用來存放寫入文件的數(shù)據(jù),precision代表數(shù)據(jù)精度,常用的數(shù)據(jù)精度有:char、uchar、int、long、float、double等。缺省數(shù)據(jù)精度為uchar,即無符號字符格式。例6.8 將一
4、個二進制矩陣存入磁盤文件中。>> a=1 2 3 4 5 6 7 8 9;>> fid=fopen('d:test.bin','wb' %以二進制數(shù)據(jù)寫入方式打開文件fid =3 %其值大于0,表示打開成功>>fwrite(fid,a,'double'ans =9 %表示寫入了9個數(shù)據(jù)>>fclose(fidans =0 %表示關(guān)閉成功2讀二進制文件fread函數(shù)可以讀取二進制文件的數(shù)據(jù),并將數(shù)據(jù)存入矩陣。其調(diào)用格式為:A,COUNT=fread(fid,size,precision說明:其中A是用
5、于存放讀取數(shù)據(jù)的矩陣、COUNT是返回所讀取的數(shù)據(jù)元素個數(shù)、fid為文件句柄、size為可選項,若不選用則讀取整個文件內(nèi)容;若選用則它的值可以是下列值:N (讀取N個元素到一個列向量、inf(讀取整個文件、M,N(讀數(shù)據(jù)到M×N的矩陣中,數(shù)據(jù)按列存放。precision用于控制所寫數(shù)據(jù)的精度,其形式與fwrite函數(shù)相同。3、文本文件的讀寫操作1讀文本文件fscanf函數(shù)可以讀取文本文件的內(nèi)容,并按指定格式存入矩陣。其調(diào)用格式為:A,COUNT=fscanf(fid,format,size說明:其中A用來存放讀取的數(shù)據(jù),COUNT返回所讀取的數(shù)據(jù)元素個數(shù),fid為文件句柄, form
6、at用來控制讀取的數(shù)據(jù)格式,由%加上格式符組成,常見的格式符有:d(整型、f(浮點型、s(字符串型、c(字符型等,在%與格式符之間還可以插入附加格式說明符,如數(shù)據(jù)寬度說明等。size為可選項,決定矩陣A中數(shù)據(jù)的排列形式,它可以取下列值:N(讀取N個元素到一個列向量、inf(讀取整個文件、M,N(讀數(shù)據(jù)到M×N的矩陣中,數(shù)據(jù)按列存放。2寫文本文件fprintf函數(shù)可以將數(shù)據(jù)按指定格式寫入到文本文件中。其調(diào)用格式為:fprintf(fid,format,A說明:fid為文件句柄,指定要寫入數(shù)據(jù)的文件,format是用來控制所寫數(shù)據(jù)格式的格式符,與fscanf函數(shù)相同,A是用來存放數(shù)據(jù)的矩
7、陣。例6.9 創(chuàng)建一個字符矩陣并存入磁盤,再讀出賦值給另一個矩陣。>> a='string'>> fid=fopen('d:char1.txt','w'>>fprintf(fid,'%s',a;>>fclose(fid;>> fid1=fopen('d:char1.txt','rt'>> fid1=fopen('d:char1.txt','rt'>> b=fscanf(fid1,
8、9;%s'b =stringmatlab讀txt文件fid=fopen('fx.txt','r'%得到文件號f,count=fscanf(fid,'%f %f',12,90;%把文件號1的數(shù)據(jù)讀到f中。其中f是12 90的矩陣%這里'%f %f'表示讀取數(shù)據(jù)的形勢,他是按原始數(shù)據(jù)型讀出fclose(fid;%關(guān)閉文件另外有的txt文件還可以用load來打開f=load('fx.txt我個人覺得用第一種方式較好。因為有些時候,特別是fx.txt 的一行種有多個數(shù)據(jù)時用load 就比較麻煩了。字符串操作%字符串處理a=
9、' a'b='b b'c='cccc'm=''%獲取字符串長度length(a%連接兩個字符串,每個字符串最右邊的空格被裁切d=strcat(a,clength(d%連接多行字符串,每行長度可不等,自動把非最長字符串最右邊補空格%使與最長字符串相等,會忽略空字符串e=strvcat(a,b,msize(e%char連接,空字符串會被空格填滿f=char(a,b,msize(f%strcmp比較兩個字符串是否完全相等,是,返回真,否則,返回假%strncmp比較兩個字符串前n個字符是否相等,是,返回真,否則,返回假%strcmpi比
10、較兩個字符串是否完全相等,忽略字母大小寫%strncmpi比較兩個字符串前n個字符是否相等,忽略字母大小寫%isletter檢測字符串中每個字符時否屬于英文字母%isspace檢測字符串中每個字符是否屬于格式字符(空格,回車,制表,換行符等%isstrprop檢測字符每一個字符是否屬于指定的范圍a='d sdsdsd 15#'b=isletter(ac=isspace(a%字符串替換和查找%strrep進行字符串替換,區(qū)分大小寫% strrep(str1,str2,str3% 它把str1中所有的str2字串用str3來替換%strfind(str,patten 查找str中是
11、否有pattern,返回出現(xiàn)位置,沒有出現(xiàn)返回空數(shù)組%findstr(str1,str2 查找str1和str2中,較短字符串在較長字符串中出現(xiàn)的位置,沒有出現(xiàn)%strmatch(patten,str 檢查patten是否和str最左側(cè)部分一致%strtok(str,char 返回str中由char指定的字符串前的部分和之后的部分,mm='youqwelcome'mm1,mm2=strtok(mm,'q'% blanks(n 創(chuàng)建有n個空格組成的字符串% deblank(str 裁切字符串的尾部空格% strtrim(str 裁切字符串的開頭和尾部的空格,制表,
12、回車符% lower(str 將字符串中的字母轉(zhuǎn)換成小寫% upper(str 將字符串中的字母轉(zhuǎn)換成大寫%sort(str 按照字符的ASCII值對字符串排序%num2str 將數(shù)字轉(zhuǎn)換為數(shù)字字符串%str2num 將數(shù)字字符串轉(zhuǎn)換為數(shù)字%mat2str 將數(shù)組轉(zhuǎn)換成字符串%int2str 把數(shù)值數(shù)組轉(zhuǎn)換為整數(shù)數(shù)字組成的字符數(shù)組可以用textscan讀取需要轉(zhuǎn)化格式的數(shù)據(jù)。(譬如我,需要將某些行轉(zhuǎn)化為字符串,某些行維持原來的數(shù)據(jù)格式。例:我的原始數(shù)據(jù)為:1.txt ,里面內(nèi)容如下:20040202.112617 04020220 0.9 359.00 278.7020040212.235846 04021308 0.9 211.00 198.9020040223.234829 04022408 0.9 105.00 134.4020040229.112810 04022920 0.9 32.00 90.8020040323.112724 04032320 0.9 9.00 37.40前面兩列我想讀成字符串,后面三列讀為數(shù)據(jù):fid msg = fopen('1.txt'vars = textscan(fid,'%s%s%f%f%f',5 inf;fclose(fid;這個結(jié)果會得到vars變量
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量管理體系改進與案例分析
- 頸動脈粥樣硬化影像學(xué)診斷的新進展
- 法院檔案查閱管理辦法
- 江蘇特種作業(yè)管理辦法
- 醫(yī)院資金收支管理辦法
- 叉車安全事故心得體會
- 城區(qū)犬類管理暫行辦法
- 團隊安全培訓(xùn)管理辦法
- 門式腳手架搭拆技術(shù)與安全管理
- 企業(yè)安全生產(chǎn)條件
- 2023年廣東省高中生物學(xué)業(yè)水平合格性考試試卷真題(含答案詳解)
- 孩子上學(xué)勞動合同協(xié)議
- 胎膜早破的護理查房
- 強奸賠償和解協(xié)議書
- 【阿里媽媽】2025未來商業(yè)獎案例大賞
- Arduino平臺在循跡避障智能小車設(shè)計中的應(yīng)用
- 輸血科管理制度、程序性文件、SOP文件
- 稅務(wù)聽證申請書
- 溶瘤病毒工藝開發(fā)流程
- 熱工自動化知識培訓(xùn)課件
- 學(xué)查改發(fā)言材料
評論
0/150
提交評論