how to read data into matlab
显示 更早的评论
HI I have a data of this format:
0001 1111111111111101111111001111010100100000 0002 1111111111100111111010101000010000000000 0003 1111111010111100010000010100010000000000 0004 1111111111111111111111111101000001000000 I want to read the first four columns (i.e., 0001 or 0002 or 0003 or 0004) as an individual variable. For the rest, I want each column as an individual variable.
tried dlmread or load, they return me senseless data like this: dlmread('Resp_R2_T6_c1.dat','')
ans =
1.0e+039 *
0.0000 1.1111
0.0000 1.1111
Can somebody kindly show me how to read data like this?
THank you!
1 个评论
Oleg Komarov
2011-6-30
It's not senseless. Change the display format.
doc format
采纳的回答
更多回答(3 个)
Fangjun Jiang
2011-6-30
Maybe you can read it in as strings and then do whatever processing you want to.
>> [a,b]=textread('Resp_R2_T6_c1.dat','%s%s')
a =
'0001'
'0002'
'0003'
'0004'
b =
'1111111111111101111111001111010100100000'
'1111111111100111111010101000010000000000'
'1111111010111100010000010100010000000000'
'1111111111111111111111111101000001000000'
3 个评论
Fangjun Jiang
2011-7-1
>> cellfun(@str2num,a)
ans =
1
2
3
4
>> bin2dec(b)
ans =
1.0e+012 *
1.0995
1.0991
1.0941
1.0995
Fangjun Jiang
2011-7-1
or try
[a,b]=textread('Resp_R2_T6_c1.dat','%d%s')
Fangjun Jiang
2011-7-1
char(b)=='0'
Ian Wood
2011-7-1
Provided your file is in the MATLAB path, you can use importdata
data = importdata('file_name.txt')
Once you read in all of the data, you can use cell allocation to call your appropriate variables.
So if you want the first column as an individual variable (call it x), then
x = data(:,1)
assigns all of the components of the first column into the variable. Hope this helps.
类别
在 帮助中心 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!