2016-07-25 11 views
2

Ich habe ein Zell-Array. Ich möchte jedes Element der Zelle in eine .csv Datei schreiben und auch die Datei auf dem Weg benennen.Wie schreibe ich mehrere .csv-Dateien aus Zell-Array in Matlab

Dies ist mein Versuch:

for i=1:length(somecell) 
    doublecell{i}=double(somecell{i}); 
end 

for j=1:length(doublecell) 
    z=doublecell{j}; 
    csvwrite('matrix_%i.csv',z,j) 
end 

Ich hoffe, was ich bin versucht zu tun, auch klar ist, wenn es falsch ist.

Antwort

1

können Sie verkürzen (und richtig) Code wie:

for i = 1:length(somecell) 
    doubleVal = double(somecell{i}); 
    csvwrite(sprintf('matrix_%i.csv', i), doubleVal); 
end 

Sie müssen die doppelten Werte nicht speichern in einem Zwischenzellenmatrix, wie Sie die Elemente produzieren können, während Sie die CSV-Dateien schreiben .

Es waren eigentlich zwei Probleme mit Ihrem Code:

  • Die Linie z=doublecell(j) eine Zelle erzeugt eine Zellarray als Indizierung mit Klammern einer Zelle produziert. Sie müssten stattdessen den numerischen Wert verwenden, sodass die geschweifte Klammerindexierung korrekt ist: z = doublecell{j}.

  • Die Zeile csvwrite('matrix_%i.csv',z,j) ist falsch. Sie benötigen sprintf, um den Dateinamen zu erstellen (siehe Beispiel).

+0

Die erste Kugel war ein Tippfehler an meinem Ende, die ich in der Frage korrigiert habe. Danke für die Hilfe. – garserdt216