Load----problem in using this commad

i have wriiten a code to load 100 txt files of a data and the line of code marked bold is not working ....plz help me..
for i=1:1:100
tmp=num2str(i);
f={'F'};
ze={00};
tx ={'.txt'};
if(i<10)
ze={'00'};
fnam=strcat(f, ze, tmp, tx);
else
if(i==100)
fnam=strcat(f, tmp, tx);
else
ze={'0'};
fnam=strcat(f, ze, tmp, tx);
end
end
* X = load(fnam)**BOLD TEXT*
end

2 commentaires

Chandra Kurniawan
Chandra Kurniawan le 28 Nov 2011
You can't use 'load' command to import your txt files. Load command is used to load MAT-File only. Use fopen instead.
Walter Roberson
Walter Roberson le 28 Nov 2011
"load" _is_ supported for text files that are written to be compatible in form with save -ascii

Connectez-vous pour commenter.

 Réponse acceptée

Chandra Kurniawan
Chandra Kurniawan le 28 Nov 2011
I have 100 text file with filenames F001.txt, F002.txt, F003.txt, ... , F010.txt, F011.txt, ... F100.txt.
Use this code below to import your text files
for i = 1 : 100
if (i < 10), ze = '00';
elseif (i == 100), ze = '';
else, ze = '0';
end
filename = strcat('F',ze,num2str(i),'.txt');
fid = fopen(filename);
C(i) = textscan(fid,'%s');
end

1 commentaire

Chandra Kurniawan
Chandra Kurniawan le 28 Nov 2011
Note that in each txt file, I wrote 00x.
Eq : I wrote 001 in F001.txt
002 in F002.txt
100 in F100.txt

Connectez-vous pour commenter.

Plus de réponses (1)

Fangjun Jiang
Fangjun Jiang le 28 Nov 2011

2 votes

Try this first to see if it is the problem regarding your file name construction.
for i=1:100
fnam=sprintf('F%03d.txt',i)
end

1 commentaire

Walter Roberson
Walter Roberson le 28 Nov 2011
And for those who prefer num2str to sprintf (even though num2str calls sprintf to do the work):
for i=1:100
fnam=num2str(i, 'F%03d.txt');
X=load(fnam)
end

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by