Read data from text file. Tables with uneven number of rows

6 ビュー (過去 30 日間)
Auwais Ahmed
Auwais Ahmed 2022 年 2 月 10 日
コメント済み: Turlough Hughes 2022 年 2 月 11 日
I have data of following shape.
I need to save all the numerical values in tables from the file as matrices. The problem is that all the tables have different number of rows. What would be the best way to go about solving the problem. Thanks
  3 件のコメント
Auwais Ahmed
Auwais Ahmed 2022 年 2 月 10 日
This is the file. Thanks
Benjamin Thompson
Benjamin Thompson 2022 年 2 月 10 日
How do you want the data combined together? If you combine everything into a single table then you will have rows from different trajectories. Is that OK? Can you provide more information about what you want?

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

回答 (1 件)

Turlough Hughes
Turlough Hughes 2022 年 2 月 11 日
編集済み: Turlough Hughes 2022 年 2 月 11 日
fid = fopen('t1.txt');
c = 1;
while ~feof(fid)
d = fgetl(fid);
if ~isempty(regexp(d,'X.*Y.*Z.*Energy', 'once'))
part = textscan(fid,'%f%f%f%f');
data{c} = [part{:}];
c = c+1;
end
end
fclose(fid);
This uses fgetl to find the headers, then textscan reads the arrays.
  2 件のコメント
Stephen23
Stephen23 2022 年 2 月 11 日
Replace the WHILE and IF with the simpler
while ~feof(fid)
...
end
Turlough Hughes
Turlough Hughes 2022 年 2 月 11 日
Thanks Stephen, I've edited the answer.

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

カテゴリ

Help Center および File ExchangeText Files についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by