Matlab reads file with different order
1 view (last 30 days)
Show older comments
chntua chntua
on 31 Aug 2020
Commented: chntua chntua
on 1 Sep 2020
Hello ,
Can anyone help me as i put into matlab this txt file and it read it like that :
0.9011 0.5400
0.8480 1.4457
0.6744 1.180
thanks in advance
2 Comments
Accepted Answer
per isakson
on 31 Aug 2020
Edited: per isakson
on 1 Sep 2020
>> fid = fopen('RQ_par.txt');
>> fs = fscanf( fid, '%f' )
fs =
0.9011
0.848
0.6744
0.54
1.4457
1.18
>> fclose(fid);
This shows how the numbers are stored in a sequence in the file on the disk. Then the reading function "decides" what are rows and what are columns. Matlab is "column major". C is row major.
Two better alternatives to read your file with R2018b are
>> dlmread('RQ_par.txt')
ans =
0.9011 0.848
0.6744 0.54
1.4457 1.18
>> rq = load('RQ_par.txt')
rq =
0.9011 0.848
0.6744 0.54
1.4457 1.18
>>
9 Comments
per isakson
on 1 Sep 2020
Edited: per isakson
on 1 Sep 2020
Read my answer and my comments once more. I cannot explain better.
More Answers (1)
John D'Errico
on 31 Aug 2020
Must I point out the data in that file are arranged as:
data = textread('RQ_par.txt')
data =
0.9011 0.848
0.6744 0.54
1.4457 1.18
MATLAB will read in each line, one at a time. That is how the file is set up.
If you want to change the order to a different order, it is not how you read the file in, but how you perform the re-arrangment.
data = reshape(data',3,2)
data =
0.9011 0.54
0.848 1.4457
0.6744 1.18
See Also
Categories
Find more on Low-Level File I/O 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!