2016-04-10 8 views
0

Ich habe 400 Dateien in meinem Verzeichnis. Welche haben den Dateinamen H1001, H1002, H1003 .... so. Ich möchte die Dateien in Matlab lesenWhay Zero wird nicht von% d Bezeichner berücksichtigt

Wenn ich diesen Code verwenden, geben Sie mir den Fehler.

'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' 

es zeigt,

myfilename=H1 1. was ist falscher Dateiname H1001. Also FEHLER IN DER NÄCHSTEN ZEILE.

Es liest nicht 00. Es gibt Leerzeichen.

Kann mir jeder Körper die Antwort sagen.

Antwort

1

Die richtige Formatzeichenfolge, wenn Sie einen rechtsbereinigten Nullwert haben möchten, ist nicht %3d (welches Recht mit Leerzeichen passt), sondern %03d;

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

Der Unterschied kann leicht in

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

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

Dank zu sehen ist es funktioniert. –

+0

@RahulKumarVijay Wenn die Antwort mit Ihrem Problem geholfen hat, denken Sie bitte daran, es mit dem Häkchen auf der linken Seite der Antwort zu akzeptieren. Das wird es anderen ermöglichen, ähnliche Probleme zu finden, um die Lösung leichter zu finden. –

Verwandte Themen