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