MATLAB Answers

Matlab reads file with different order

1 view (last 30 days)
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

per isakson
per isakson on 31 Aug 2020
How exactly did you read the txt-file?
chntua chntua
chntua chntua on 31 Aug 2020
i use fopen to open the txt file and fscanf to print the matrix

Sign in to comment.

Accepted Answer

per isakson
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

Show 6 older comments
chntua chntua
chntua chntua on 1 Sep 2020
yes but without changing position of elements. i want the elements of the matrix to be in the same position as in the txt file. how can i get that ?
per isakson
per isakson on 1 Sep 2020
Read my answer and my comments once more. I cannot explain better.
chntua chntua
chntua chntua on 1 Sep 2020
okay thanks a lot for your time !

Sign in to comment.

More Answers (1)

John D'Errico
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

  1 Comment

chntua chntua
chntua chntua on 31 Aug 2020
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.

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by