2016-04-10 13 views
0

私のディレクトリには400個のファイルがあります。ファイル名はH1001、H1002、H1003 ....です。私はそのファイルをmatlabに読み込みたいwhayゼロは%dの識別子ではありません

私はそのコードを使用するとエラーが出る。

'd=dir('C:\Users\Desktop\New\*.txt')> 


<num_files=length(d)> 

data=cell(1,num_files); 

for k = 1:400 

myfilename = sprintf('H1%3d.txt',k); 

mydata{k} = importdata(myfilename); 

end' 

それは

myfilename=H1 1を示しています。間違ったファイル名H1001です。次の行にエラーが表示されます。

00は読んでいません。空白があります。

どのようなボディでも答えを教えてくれますか?

答えて

1

右に調整した値が0になるようにする場合は、正しいフォーマット文字列は%3d(スペースで右寄せ)ではなく、%03dです。

for k = 1:400 
    myfilename = sprintf('H1%03d.txt',k); 
    mydata{k} = importdata(myfilename); 
end 

違いは、簡単にそれが働いている

> printf('H1%3d.txt\n', 7); 
H1 7.txt 

> printf('H1%03d.txt\n', 7); 
H1007.txt 
+0

おかげで見ることができます。 –

+0

@RahulKumarVijay答えがあなたの問題に役立った場合は、回答の左側にあるチェックマークを使用して回答を受け入れることを検討してください。そうすれば他の人も同じような問題で解決策を見つけることができます。 –