資源描述:
《matlab中數(shù)據(jù)導(dǎo)入和導(dǎo)出》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、matlab中的數(shù)據(jù)導(dǎo)入和導(dǎo)出Matlab提供了從磁盤文件或剪貼簿轉(zhuǎn)載數(shù)據(jù)至工作區(qū)(數(shù)據(jù)導(dǎo)入)和將工作區(qū)變量存入磁盤文件(數(shù)據(jù)導(dǎo)出)的多種途徑。最簡(jiǎn)單的辦法是使用界面導(dǎo)入向?qū)?,打開文件菜單中的導(dǎo)入數(shù)據(jù)而后按提示操作。Matlab支持的主要數(shù)據(jù)文件類型和對(duì)應(yīng)函數(shù)如下:導(dǎo)入文本文件文本文件需要具備統(tǒng)一的行列模式,使用分隔符作為數(shù)據(jù)項(xiàng)間隔,這些分隔符包括空格、逗號(hào)、tab、分號(hào)或其它。數(shù)據(jù)文件可能附帶標(biāo)題行和行列頭標(biāo)簽。數(shù)值數(shù)據(jù)對(duì)于數(shù)值數(shù)據(jù)可以直接使用load函數(shù)裝載,例如my_data.txt中數(shù)據(jù)如下:12345678910命令A(yù)=l
2、oad('my_data.txt')裝載該文本文件數(shù)據(jù)。如果數(shù)值數(shù)據(jù)使用其它分隔符,可以使用dlmread讀入,假設(shè)my_data.txt中數(shù)據(jù)如下:7.2;8.5;6.2;6.65.4;9.2;8.1;7.2命令A(yù)=dlmread('my_data.txt',';')讀入該數(shù)據(jù)。包含行列標(biāo)簽的數(shù)值數(shù)據(jù)例如:Grade1Grade2Grade378.855.945.999.566.878.089.577.056.7fid=fopen('grades.dat','r');grades=textscan(fid,'%f%f%f',3,'
3、headerlines',1);fclose(fid);包含字符和數(shù)值的混合數(shù)據(jù)使用textread函數(shù)讀入。導(dǎo)出文本文件save函數(shù)A=[1234;5678];savemy_data.outA–ASCIIdlmwrite函數(shù)dlmwrite('my_data.out',A,';')MS-Excel電子表格文件xlsinfo獲得文件信息使用命令[type,sheets]=xlsfinfo(filename)返回文件類型type和工作表信息。如:[type,sheets]=xlsfinfo('tempdata.xls')Xlswrit
4、e導(dǎo)出數(shù)據(jù)d={'Time','Temp';1298;1399;1497}命令xlswrite('tempdata.xls',d,'Temperatures','E1')將單元格數(shù)組d的數(shù)據(jù)寫出至tempdata.xls文件,新建工作表'Temperatures',從該工作表的E1單元格開始寫入。Xlsread讀入數(shù)據(jù)ndata=xlsread('tempdata.xls','Temperatures')[ndata,headertext]=xlsread('tempdata.xls','Temperatures'0matlab中如
5、何讀取文本文件假定名為test.txt的文件中以下為文件內(nèi)容"你好,我的數(shù)據(jù)歡迎來到百思論壇www.baisi.net11111111112222222222333333333344444444445555555555"這樣的文件怎么讀入數(shù)據(jù)呢?方法有多種,現(xiàn)舉兩個(gè)比較簡(jiǎn)單實(shí)用的。方法一:在文件菜單中選擇file/importdata,按照提示進(jìn)行操作至結(jié)束。在command窗口中輸入>>whosName????????????Size????????????????????Bytes???Classdata????????????
6、5x4???????????????????????160???doublearraytextdata????????4x1???????????????????????300???cellarrayGrandtotalis54elementsusing460bytes>>datadata=???????????1???????????11??????????111?????????1111???????????2???????????22??????????222?????????2222???????????3?????????
7、??33??????????333?????????3333???????????4???????????44??????????444?????????4444???????????5???????????55??????????555?????????5555>>textdatatextdata=????'你好'????'歡迎來到'????'百思論壇'????'www.baisi.net'方法二:[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)說明:%s
8、可以是其他形式,跟讀入的數(shù)據(jù)類型有關(guān),比如這里也可以用%n,%f等。這里%s的個(gè)數(shù)和[a1,a2,a3,a4]對(duì)應(yīng)。>>[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerline