Matlab reads file with different order
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
per isakson
2020-8-31
编辑:per isakson
2020-9-1
>> 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 个评论
per isakson
2020-9-1
编辑:per isakson
2020-9-1
Read my answer and my comments once more. I cannot explain better.
更多回答(1 个)
John D'Errico
2020-8-31
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Low-Level File I/O 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!