不規則なフォーマットのデータの読み込み
17 ビュー (過去 30 日間)
古いコメントを表示
16
1 25
-65.29 0.79900E-07 0.82233E-08
1 1 -67.8588 0.80457E-07 92.3761 89.9255 87.6239 90.0745
Tx-R-Rx
-0.5483143E-07 0.4834502E-07 0.1000000E+01
-0.1564544E-01 0.1202459E+02 0.1498956E+01
-0.3135639E-01 -0.5033190E-01 0.2000000E+01
2 2 -67.8594 0.80457E-07 92.1290 90.0261 87.5000 90.1250
Tx-R-R-Rx
-0.5483143E-07 0.4834502E-07 0.1000000E+01
-0.2623408E-01 0.1202459E+02 0.1525007E+01
-0.3501767E-01 0.7998557E+01 0.1700788E+01
-0.3135639E-01 -0.5033190E-01 0.2000000E+01
3 2 -67.8786 0.80664E-07 92.4897 359.8980 87.7500 359.6250
Tx-R-R-Rx
-0.5483143E-07 0.4834502E-07 0.1000000E+01
0.1152191E+02 -0.7541068E-01 0.1452706E+01
0.1206498E+02 -0.7185633E-01 0.1474044E+01
-0.3135639E-01 -0.5033190E-01 0.2000000E+01
4 1 -67.8794 0.80663E-07 92.3700 0.1194 87.6300 359.8806
Tx-R-Rx
-0.5483143E-07 0.4834502E-07 0.1000000E+01
0.1206498E+02 -0.2513332E-01 0.1499351E+01
-0.3135639E-01 -0.5033190E-01 0.2000000E+01
上記のようなフォーマットのデータをMatlabで読み込みたいです。(上記は一部で実際は2000行以上あります。)行列の列数が行によって異なっていたり、文字列が含まれているためどのように読み込めば良いか分かりません。inportdataを使った場合以下のように1列の配列として読み込まれてしまいます。
このようなデータを読み込むためにはどのような関数を使うのが適切でしょうか?
(ちなみに文字列部分はできれば読み込みたいのですが、絶対に必要ではありませんので無視するほうが適切であれば、それでもかまいません。)
>> path = importdata(myfilename)
path =
16.0000
1.0000
25.0000
-65.2900
0.0000
0.0000
1.0000
1.0000
-67.8588
0.0000
92.3761
89.9255
87.6239
90.0745
0 件のコメント
採用された回答
Hernia Baby
2021 年 7 月 5 日
単に読み込む場合は以下のようにcell配列に格納すればOKです。
clc,clear,close all;
fid = fopen('sample.txt');
k = 1;
while (~feof(fid))
tline = fgetl(fid);
a{k,:} = tline;
k = k + 1;
end
a
数値だけ抜き出したい場合は、別途ご質問ください。
回答用意しております。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ワークスペース変数と MAT ファイル についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!