MATLAB數據導入導出

Matlab提供了從磁盤文件或剪貼簿轉載數據至工作區(數據導入)和將工作區變量存 入磁盤文件(數據導出)的多種途徑。
最簡單的辦法是使用界面導入嚮導,打開文件菜單中的導入數據而後按提示操作。Matlab支持的主要數據文件類型和對應函數如下:
clip_image001
導入文本文件
文本文件需要具備統一的行列模式,使用分隔符作爲數據項間隔,這些分隔符包括空格、逗號、tab、分號或其它。數據文件可能附帶標題行和行列頭標籤。
數值數據
對於數值數據可以直接使用load函數裝載,例如my_data.txt中數據如下:
1 2 3 4 5
6 7 8 9 10
命令A = load('my_data.txt')裝載該文本文件數據。
如果數值數據使用其它分隔符,可以使用dlmread讀入,假設my_data.txt中數據如下:
7.2;8.5;6.2;6.6
5.4;9.2;8.1;7.2
命令A = dlmread('my_data.txt', ';')讀入該數據。
包含行列標籤的數值數據
例如:
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);
包含字符和數值的混合數據
使用textread函數讀入。
導出文本文件
save函數
A = [ 1 2 3 4 ; 5 6 7 8 ];
save my_data.out A –ASCII
dlmwrite函數
dlmwrite('my_data.out',A, ';')
MS-Excel電子表格文件
xlsinfo獲得文件信息
使用命令[type, sheets] = xlsfinfo(filename)返回文件類型type和工作表信息。如:[type, sheets] = xlsfinfo('tempdata.xls')
Xlswrite導出數據
d = {'Time', 'Temp'; 12 98; 13 99; 14 97}
命令xlswrite('tempdata.xls', d, 'Temperatures', 'E1')將單元格數組d的數據寫出至tempdata.xls文件,新建工作表'Temperatures',從該工作表的E1單元格開始寫入。
Xlsread讀入數據
ndata = xlsread('tempdata.xls', 'Temperatures')
[ndata, headertext] = xlsread('tempdata.xls', 'Temperatures' )

在各論壇上看到很多關於這方面的問題,其實很簡單的,MATLAB提供了這方面的比較方便的工具,可以通過File-import data 來從外部向MATLAB的WORKSPACE導入大量數據(原始數據文件的數據要有一定規律(行、列))如果數據文件本身沒有說明文字(字母),就只有一個個的數據,可以使用load(’filename‘)函數來加載數據,數據導出直接可以將要保存的數據保存到*.mat文件(在workspace中選擇要保存的變量右鍵選另存爲即可)。當然導入導出數據也可以用fprintf,fscanf等文件操作指令進行,這樣的好處在於可以在文件中寫入一些提示性文字。

5cf7e617a194ef204a90a720

發佈了28 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章