Load file and remove string characters.

29 ビュー (過去 30 日間)
apex116
apex116 2017 年 11 月 28 日
コメント済み: apex116 2017 年 11 月 28 日
Hello,
I would like to extract all the numeric data out of a mixed file where the total line length needs to be determined. I have put a screenshot of the first 5 lines of the file.
In the file, I wish to extract the 13 numeric values and ignore the '#' at the end. I have tried to do this below:
fid = fopen('Boundary.cli');
FC = textscan(fid, '%d %d %d %d %d %d %d %d %d %d %d %d %d',1);
fclose(fid);
This produces the following 1x13 cell:
The issue is that i would like to the read the whole of the file and then convert the cell to a double array of n x 13. Where n is the number of lines of the file.
I would greatly appreciate any help from anyone who knows how to solve this issue.

採用された回答

Jan
Jan 2017 年 11 月 28 日
編集済み: Jan 2017 年 11 月 28 日
What about:
FC = textscan(fid, '%d %d %d %d %d %d %d %d %d %d %d %d %d %s');
Then remove the last column in FC. Or:
FC = textscan(fid, '%d %d %d %d %d %d %d %d %d %d %d %d %d %[^\n]');
  2 件のコメント
Stephen23
Stephen23 2017 年 11 月 28 日
@apex116: read the textscan documentation and use the CollectOutput option.
apex116
apex116 2017 年 11 月 28 日
Dear Stephen, Thank your help. However I am having difficulties with the second suggestion:
FC = textscan(fid, '%d %d %d %d %d %d %d %d %d %d %d %d %d %[^\n]');
The problem is that it doesn't allow me to read more than the first line.
The only reason I am asking as i might have a varying number of string characters following the numeric data.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Import and Export についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by