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_da
1 2 3 4 5
6 7 8 9 10
命令A(yù) = load('my_da
如果數(shù)值數(shù)據(jù)使用其它分隔符,可以使用dlmread讀入,假設(shè)my_da
7.2;8.5;6.2;6.6
5.4;9.2;8.1;7.2
命令A(yù) = dlmread('my_da
包含行列標(biāo)簽的數(shù)值數(shù)據(jù)
例如:
Grade1 Grade2 Grade3
78.8 55.9 45.9
99.5 66.8 78.0
89.5 77.0 56.7
fid = fopen('grades.dat', 'r');
grades = textscan(fid, '%f %f %f', 3, 'headerlines', 1);
fclose(fid);
包含字符和數(shù)值的混合數(shù)據(jù)
使用textread函數(shù)讀入。
導(dǎo)出文本文件
save函數(shù)
A = [ 1 2 3 4 ; 5 6 7 8 ];
save my_da
dlmwrite函數(shù)
dlmwrite('my_da
MS-Excel電子表格文件
xlsinfo獲得文件信息
使用命令[type, sheets] = xlsfinfo(filename)返回文件類型type和工作表信息。如:[type, sheets] = xlsfinfo('tempdata.xls')
Xlswrite導(dǎo)出數(shù)據(jù)
d = {'Time', 'Temp'; 12 98; 13 99; 14 97}
命令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' )
在各論壇上看到很多關(guān)于這方面的問題,其實(shí)很簡(jiǎn)單的,MATLAB提供了這方面的比較方便的工具,可以通過File-imp
聯(lián)系客服