Is textscan the correct command to use when importing data from text files into matlab. The command seems to work fine if I only have a vector in the text file, but if I have a matrix, matlab will change the structure of the data and store the matrix as a vector. Which command should I use if I'm importing data from text files within a loop where some of the text files include vectors and others include matrices?

 Accepted Answer

Oleg Komarov
Oleg Komarov on 23 Feb 2012

0 votes

You have to specify the right 'format', read example 8 to get an idea: http://www.mathworks.co.uk/help/techdoc/ref/textscan.html

3 Comments

Richard
Richard on 23 Feb 2012
So, if I have say 4 .txt files in a folder where 2 are column vectors and the other 2 are matrices I would have to use textscan twice in order to obtain all of the values. By using:
fid = fopen('...');
a = textscan(fid,'%f');
It returns the text files which should be matrices as one long vector.
Richard
Richard on 23 Feb 2012
I've decided to use dlmread seeing as the .txt files do not have any headings.
Oleg Komarov
Oleg Komarov on 23 Feb 2012
Headers do not matter, if you want 4 columns the right format is:
textscan(fid,'%f %f %f %f','Delimiter',''whateveryoulike')
or
textscan(fid,'%f',4,'Delimiter',''whateveryoulike')

Sign in to comment.

More Answers (0)

Asked:

on 23 Feb 2012

Edited:

on 22 Oct 2013

Community Treasure Hunt

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

Start Hunting!