matlab讀取cvs檔案的幾種方法:
1,實用csvread()函式
csvread()函式有三種使用方法:
1、m = csvread('filename')
2、m = csvread('filename', row, col)
3、m = csvread('filename', row, col, range)
第一種方法中,直接輸入檔名,將資料讀到矩陣m中。這裡要求csv檔案中只能包含數字。
第二種方法中,除了檔名,還指定了開始讀取位置的行號(row)和列號(col)。這裡,行號、列號以0開始計數。也就是說,row=0, col=0表示從檔案中第乙個數開始讀。
第三種方法中,range限定了讀取的範圍。range = [r1 c1 r2 c2],這裡(r1,c1)是讀取區域的左上角,(r2,c2)是讀取區域的右下角。在使用這種方法時,要求row, col等於range中的前兩項。
注意:csv檔案中的空項,讀到矩陣中時,會初始化為0.
2、使用textscan函式
在使用textscan函式前必須用fopen函式開啟csv檔案。textscan函式讀取的結果會存在cell陣列中。
呼叫格式
c = textscan(fid, 'format')
c = textscan(fid, 'format', n)
c = textscan(fid, 'format', param, value, ...)
c = textscan(fid, 'format', n, param, value, ...)
c = textscan(str, ...)
[c, position] = textscan(...)
關於textscan函式的具體用法見help textscan。
4,使用importdata('myfile.cvs')
5,使用fgetl()函式,當成普通的txt檔案讀取。
fidin=fopen('test.txt'); % 開啟test2.txt檔案
fidout=fopen('mkmatlab.txt','w'); % 建立mkmatlab.txt檔案
while ~feof(fidin) % 判斷是否為檔案末尾
tline=fgetl(fidin); % 從檔案讀行
if double(tline(1))>=48&&double(tline(1))<=57 % 判斷首字元是否是數值
fprintf(fidout,'%s\n\n',tline); % 如果是數字行,把此行資料寫入檔案mkmatlab.txt
continue % 如果是非數字繼續下一次迴圈
endend
fclose(fidout);
mk=importdata('mkmatlab.txt'); % 將生成的mkmatlab.txt檔案匯入工作空間,變數名為mk,實際上它不顯示出來
6,拖動到matlab的工作區內
如果檔案中全部都是資料的話,可以直接將資料拖動到matlab的工作區內。
載入後出現下面的資料列表。
在保證所有資料都被選中的情況下,在工具欄的「匯入的資料」中選擇要匯入資料的型別,如果全部為資料,則可以匯出為列向量或者數值矩陣。
matlab讀取cvs檔案的幾種方法
matlab讀取cvs檔案的幾種方法 1,實用csvread 函式 csvread 函式有三種使用方法 1 m csvread filename 2 m csvread filename row,col 3 m csvread filename row,col,range 第一種方法中,直接輸入檔名...
matlab讀取cvs檔案的幾種方法
matlab讀取cvs檔案的幾種方法 1,實用csvread 函式 csvread 函式有三種使用方法 1 m csvread filename 2 m csvread filename row,col 3 m csvread filename row,col,range 第一種方法中,直接輸入檔名...
MATLAB讀取檔案 儲存檔案
學習各種文獻 常見的開啟方式如下 r 唯讀方式開啟檔案 預設的方式 該檔案必須已存在。r 讀寫方式開啟檔案,開啟後先讀後寫。該檔案必須已存在。w 開啟後寫入資料。該檔案已存在則更新 不存在則建立。w 讀寫方式開啟檔案。先讀後寫。該檔案已存在則更新 不存在則建立。a 在開啟的檔案末端新增資料。檔案不存...