Read a 55x55 matrix with matlab

1 回表示 (過去 30 日間)
Mélanie Ghysels-Dubois
Mélanie Ghysels-Dubois 2021 年 3 月 4 日
コメント済み: dpb 2021 年 3 月 4 日
Dear all,
I would like to read in a txt file (see attached document) the 55x55 matrix using matlab.
In the txt file, the matrix appears in a block of 9x6 followed by one line (which then accounts 55 values) . And there are 55 blocks like this.
In fact, this block contains averaging kernel values for the 55 pressure levels of the sounding instrument.
How can I read this gile so I have at the end a matrix called A which has a dimension of 55x55?
Thank you for your help,
Best regards
Mélanie

回答 (1 件)

Akira Agata
Akira Agata 2021 年 3 月 4 日
How about the following?
A = readmatrix('Averaging_kernel_MLS_v04_0N.txt');
A = reshape(A',60,[])';
A = A(:,1:55);
  6 件のコメント
Mélanie Ghysels-Dubois
Mélanie Ghysels-Dubois 2021 年 3 月 4 日
Yes, thank you dpb, Adding this line helped removing NaNs and to get the right matrix at the end.
Thanks a lot!
dpb
dpb 2021 年 3 月 4 日
Both end up the same in the end...
>> B=readmatrix('Averaging_kernel_MLS_v04_0N.txt');
>> B=reshape(B.',60,[]).'; B=B(:,1:55);
>> all(A(:)==B(:))
ans =
logical
1
>>
It's just perhaps a little cleaner w/ textscan. Too bad TMW hasn't added the ability to pass a filename as alternate input besides just a file handle so could avoid having to have the encapsulating fopen...fclose pair.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMultichannel Audio Input and Output についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by