matlab读取txt数据文件「建议收藏」(MathWorks)
一、load()函數(shù)
load函數(shù)適合讀取純數(shù)據(jù)文本
例子,data_txt.txt內(nèi)容如下:
0 1.000000 2.000000 3.000000
1 3.000000 4.000000 5.000000
2 6.000000 7.000000 8.000000
3 9.000000 10.00000 11.00000
讀取代碼如下:
%對于類似的txt文件,不含有字符,只有數(shù)字
data=load(‘data_txt.txt’);
x=data(:,1);
y=data(:,2);
plot(x,y,‘r–’)
二、importdata()函數(shù)
只是第一行有字符,則使用importdata可直接讀取數(shù)據(jù)。importdata函數(shù)只讀取數(shù)據(jù),自動省略數(shù)據(jù)格式前后的字符;
例子,data_txt_string.txt內(nèi)容如下:
11.txt
0 1.000000 2.000000 3.000000
1 3.000000 4.000000 5.000000
2 6.000000 7.000000 8.000000
讀取代碼如下:
data1=importdata(‘11.txt’);
data2=data1.data;
三、textread函數(shù)
textread、textscan——適合讀取行列規(guī)整的文本,會存到元胞中,可通過headerlines省略讀取字段名(字符行);
3.1、讀取開頭帶字符注釋,數(shù)據(jù)有分隔符(逗號,分號…)的數(shù)據(jù):
11.txt
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
讀取代碼:
[a1,a2,a3,a4]=textread('11.txt','%d%d%d%d','delimiter', ',','headerlines',1);
delimiter是指出分隔符,讀數(shù)據(jù)的時候會自動跳過分隔符。
headerlines指明了跳過幾行,這里headerlines告訴textread跳過一開始的1行,1可以替換為任意要跳過的行數(shù)。
format用來控制讀取的數(shù)據(jù)格式,由%加上格式符組成,常見的格式符有:d(整型)、f(浮點型)、s(字符串型)、c(字符型)等
3.2、txt中存在空位,用nan替代為空的部分
11.txt
1,2,3,4,,6
7,8,9,,11,12
讀取代碼:
>>[d1 d2 d3 d4 d5 d6] = textread('11.txt','%f%f%f%f%f%f','headerlines',1, 'delimiter', ',', 'emptyvalue', NaN)
>> data=[d1 d2 d3 d4 d5 d];
>> data
data =
1 2 3 4 NaN 6
7 8 9 NaN 11 12
3.3、txt文件包含不同格式數(shù)據(jù)
11.txt
Sally Start 12.34 56 End
Sall Star 12.3 5 En
讀取代碼:
[name, types, x, y, answer] = textread('11.txt' , '%s%s%f%d%s', 3);
注意“3”為讀取次數(shù),應(yīng)該是要讀取的行數(shù),即讀取11.txt 3行數(shù)據(jù)。
這里沒有設(shè)置跳行headerlines,讀取結(jié)果為3*1的cell,“11.txt”會讀取保存在name中,
3.4、讀入規(guī)律格式的數(shù)據(jù)
11.txt
Location;date;discharge
Lobith;1989-01-01;00:00;2801
Lobith;1989-01-02;00:00;2619
讀取代碼:
>> [loc year month day hour min charge]=textread('11.txt','%s%f-%f-%f%f:%f%f','headerlines',2,'delimiter',';')
loc =
'Lobith'
'Lobith'
year =
1989
1989
month =
1
1
day =
1
2
hour =
0
0
min =
0
0
charge =
2801
2619
3.5、[a1,a2,a3,a4]=textread(‘test1.txt’,’%s%s%*s%*s’) # %*s代表省略后兩列數(shù)據(jù)
from:Matlab學(xué)習(xí)筆記(9)——textread函數(shù)_Lavi_qq_2910138025的博客-CSDN博客_matlab textread
四、csvread、dlmread——適合讀取csv、xsl等文件格式文本;
5、fprintf、fscanf——適合讀取復(fù)雜的文本(中英文、數(shù)字串混雜出現(xiàn));
總結(jié)
以上是生活随笔為你收集整理的matlab读取txt数据文件「建议收藏」(MathWorks)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装anaconda和pycharm_a
- 下一篇: PAT_B_1070_Java(25分)