how to read data into matlab
Show older comments
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 Comment
Oleg Komarov
on 30 Jun 2011
It's not senseless. Change the display format.
doc format
Accepted Answer
More Answers (3)
Fangjun Jiang
on 30 Jun 2011
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 Comments
Fangjun Jiang
on 1 Jul 2011
>> cellfun(@str2num,a)
ans =
1
2
3
4
>> bin2dec(b)
ans =
1.0e+012 *
1.0995
1.0991
1.0941
1.0995
Fangjun Jiang
on 1 Jul 2011
or try
[a,b]=textread('Resp_R2_T6_c1.dat','%d%s')
Fangjun Jiang
on 1 Jul 2011
char(b)=='0'
Wei
on 30 Jun 2011
0 votes
Ian Wood
on 1 Jul 2011
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.
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!