資源描述:
《《Matlab數(shù)據(jù)處理》PPT課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第四章Matlab數(shù)據(jù)處理主要內(nèi)容4.1.數(shù)據(jù)文件讀寫4.2.Matlab中的輸入輸出函數(shù)4.3.數(shù)據(jù)的標(biāo)準(zhǔn)化4.1.數(shù)據(jù)文件讀寫1、將工作區(qū)變量保存到文本文件中savefilenamevar1var2var3…-mat默認(rèn)保存的文件擴(kuò)展名為.mat,如果保存的數(shù)據(jù)需要跨平臺處理,需要采用如下格式:savefilename.datvar1var2…-ascii另外:savefilenamevar1var2…-append附加到已經(jīng)存在的Mat文件中dlmwrite(‘data3.txt’,b),可以將工作區(qū)變
2、量保存到純文本文件中。2、將文本文件中的數(shù)據(jù)導(dǎo)入工作區(qū)loadfilenamea=load(‘filename.txt');M=dlmread(filename,delimiter,R,C)讀取文本文件M=gallery('integerdata',100,[58],0);dlmwrite('myfile.txt',M,'delimiter','t')dlmread('myfile.txt')dlmread('myfile.txt','t',2,3)dlmread('myfile.txt','t','C
3、1..G4')示例:3、讀寫Excel中的數(shù)據(jù)xlswrite(filename,A,sheet,range)將陣列A寫入Excel文件filename中sheet表格的range指示的單元格內(nèi)。[num,txt,raw]=xlsread(filename,sheet,range)從Excel文件filename中的sheet表格中讀取range單元格內(nèi)的數(shù)據(jù)返回。示例:values={1,2,3;4,5,'x';7,8,9};headers={'First','Second','Third'};xlswri
4、te('myExample.xls',[headers;values]);A=xlsread('myExample.xls')subsetA=xlsread('myExample.xls',1,'B2:C3')columnB=xlsread('myExample.xls','B:B')[ndata,text,alldata]=xlsread('myExample.xls')4.2.Matlab中的輸入輸出函數(shù)1、textread函數(shù)以指定的格式讀取ASCII文件。調(diào)用格式為:[a,b,c,…]=textrea
5、d(filename,format,n),其中format是描述每一列數(shù)據(jù)類型的字符串,書寫格式同fprintf函數(shù)中的格式相同,n表示要讀的行數(shù),如果不寫n,則讀取整個(gè)文件。示例:假設(shè)文件test.dat中的數(shù)據(jù)如下:JamesJonesO+3.5122YesSallySmithA+3.2823No讀取時(shí):[first,last,blood,gpa,age,answer]=textread(‘test.dat’,’%s%s%s%f%d%s’)如果需要忽略某些數(shù)據(jù),只讀取一部分,可以如下調(diào)用:[first,l
6、ast,gpa]=textread(‘test.dat’,’%s%s%*s%f%*d%*s’)2、Matlab中的文件處理函數(shù)2.1文件的打開與關(guān)閉函數(shù)[fid,message]=fopen(filename,permission,format),fid返回打開文件的文件ID,如果打開成功,message返回空串。permission是打開權(quán)限,可以是’r’‘r+’‘w’’w+’‘a(chǎn)’‘a(chǎn)+’‘W’‘A’,分別代表了對文件的讀寫追加等操作,可以和文本文件(t)或者二進(jìn)制文件(b)組合使用,如’rt’‘rt+’
7、‘rb’等,format對應(yīng)文件中數(shù)據(jù)的顯示格式,可以是n,l,a,b,s等。status=fclose(fid)關(guān)閉文件2.2二進(jìn)制文件讀寫函數(shù)count=fwrite(fid,array,precision),array是要寫入的矩陣,precision對應(yīng)精度,有’char’,’schar’,’int8’,’int16’,’uint8’,’float32’等。[array,count]=fread(fid,size,precision)從打開的文件fid讀取二進(jìn)制數(shù)據(jù),size指示讀取的數(shù)據(jù)個(gè)數(shù),如果為
8、n表示讀n個(gè)數(shù)據(jù),返回的array是一個(gè)列向量,如果為inf表示讀取全部數(shù)據(jù),array是一個(gè)包含全部數(shù)據(jù)的列向量。如果為[nm]表示讀一個(gè)n*m個(gè)數(shù)據(jù),形成一個(gè)array。示例:見備注2.3格式化輸入輸出函數(shù)count=fprintf(fid,format,val1,val2,…)format是形如%-12.5e的格式化字符串,其中-表示左對齊,12表示數(shù)據(jù)寬度,.5表示精度(小數(shù)點(diǎn)后的位數(shù)),e