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
per isakson 2020-8-31
How exactly did you read the txt-file?
chntua chntua
chntua chntua 2020-8-31
i use fopen to open the txt file and fscanf to print the matrix

请先登录,再进行评论。

采纳的回答

per isakson
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
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
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
  1 个评论
chntua chntua
chntua chntua 2020-8-31
yes but the problem is that matlab does not read it as in text file. can you please check my code ? it is just 4 lines.

请先登录,再进行评论。

类别

Help CenterFile 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!

Translated by