Ich bin neu bei MATLAB und habe derzeit ein SkriptDadurch werden für jede Variable n verschiedene Werte generiert. Am Ende habe ich Hunderte von Daten, die in Excel übertragen werden müssen. Zurzeit mache ich das manuell, indem ich die Einfügung kopiere, aber es dauert sehr lange.
Ich habe über die Verwendung des Befehls xlswrite nachgedacht, der jedoch nur Daten in die erste Spalte schreibt und diese Spalte überschreibt, wenn neue Daten generiert werden.
Könntest du mir helfen oder mich auf diese Weise leichter machen?
Antworten:
2 für die Antwort № 1Wenn Sie wirklich direkt in Excel schreiben möchten, während der Code ausgeführt wird, können Sie activex verwenden. Einige gut dokumentierte Beispielcodes finden Sie in diese Antwort. Irgendwo in der Mitte findest du diesen Code:
% select a 5x5 range, and fill it with some numeric values
sheet.Range("A1:E5").Value = num2cell(magic(5));
Hier müssen Sie es durch eine Schleife ersetzen, die die Daten kontinuierlich schreibt.
Seien Sie vorsichtig, wenn Sie diese Lösung verwenden.
- Probleme mit Excel können Ihren MATLAB-Prozess stoppen
- Insbesondere bei großen Daten ist dies wesentlich langsamer als die Nachbearbeitung
- Sie müssen Excel und MATLAB auf demselben PC installieren
Die Verwendung einer einfachen Textdatei, die fortlaufend geschrieben wird, ist möglicherweise die bessere Wahl fprintf
(Verwenden Sie dasselbe Dateihandle und es wird angehängt) oder dlmwrite
(Anhängeoption verwenden).