How to read a text file with multiplel matrix data sets listed one after another

Below is an example (in the real world, I have hundreds of data sets in a text file):
How do I load the data into Matlab?
Thank you in advance.

2 件のコメント

Walter Roberson
Walter Roberson 2011 年 8 月 18 日
It won't let me see that page :(
Liqing
Liqing 2011 年 8 月 22 日
Problem fixed. Thanks for letting me know. Now you should be able to download the small txt file.

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

回答 (3 件)

Liqing
Liqing 2011 年 8 月 25 日

0 投票

I am still waiting for an answer. Thanks.
Friedrich
Friedrich 2011 年 8 月 25 日
Hi,
trz
fid = fopen('sample.txt','r');
out = textscan(fid,'%s %s %s \r\n %f %f %f \r\n %f %f %f \r\n %f %f %f \r\n %f %f %f \r\n');
fclose(fid);
celldisp(out)
It depends on your OS if you have to use \r (MAC) or \n (Unix) or \r\n (Windows)

2 件のコメント

Liqing
Liqing 2011 年 8 月 25 日
Thank you very much. It works.
What if I have unknown and different number of matrix rows for each of them?
Walter Roberson
Walter Roberson 2011 年 8 月 25 日
textscan by default ignores both \r and \n as being "Whitespace", so you can ignore the terminator issue:
textscan(fid, [repmat('%s',1,3) repmat('%f',1,12)]);

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

Fangjun Jiang
Fangjun Jiang 2011 年 8 月 25 日
What is your desired output? Do you care about the text strings? The overall approach is to use textscan(). You can type help textscan or doc textscan for details.
fid=fopen('sample.txt','rt');
data=textscan(fid,'%f','CommentStyle','Depth');
fclose(fid);
data{1}

4 件のコメント

Liqing
Liqing 2011 年 8 月 25 日
I appreciate the reply very much. Yes I want the text strings as well.
Fangjun Jiang
Fangjun Jiang 2011 年 8 月 25 日
What version of MATLAB do you have?
Fangjun Jiang
Fangjun Jiang 2011 年 8 月 25 日
You can use fgetl() to read the file line by line. If the line contains comma, read it as string (%s), otherwise, read it as double (%f). There is really no hard part. It's just tedious. If you just have one file to read, it might worth to convert it to a .xls file and then use [Num,Txt,Raw]=xlsread().
Fangjun Jiang
Fangjun Jiang 2011 年 8 月 25 日
Here is an example.
http://www.mathworks.com/matlabcentral/answers/13383-how-to-extract-numerical-datafrom-txt-file-with-mixed-string-and-numerical-data

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

タグ

質問済み:

2011 年 8 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by