So löschen Sie die letzte Zeile im Befehlsfenster
Ich bin gespannt über den Fortschritt des Laufenden Programms und drucken ich einige Informationen über die aktuelle iteration wie:
for i = 1:N
...
...
msg = sprintf('Processed %d/%d', i, N);
display(msg)
end
Ich nicht drucken wollen, die Fortschritte in getrennte Zeilen ein, stattdessen möchte ich die Letzte Zeile um den vorherigen zu ersetzen. Ich möchte nicht clc
die löscht alle Inhalte.
Ich weiß, dass '\b'
können löschen des letzten Zeichens (wie backspace) und ich kann eine Funktion erstellen, die mit einer for-Schleife löscht die Elemente, bis die Vorherige neue Zeile vor der letzten. Aber gibt es eine bessere Weise, das zu tun? Wenn nicht, wie kann ich überprüfen ob das Letzte Zeichen auf der Befehl-Linie ist eine neue Linie oder nicht?
InformationsquelleAutor der Frage petrichor | 2012-01-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich mir angeschaut, das problem, vor einer Weile. Und ich habe bemerkt, dass die Zeichen
\r
(zum löschen der letzten Zeile) - arbeiten mit matlab im command-line (-nodesktop), aber nicht mit den Grafik-Modus...Die beste Lösung, die ich gefunden ist, etwas zu tun:
InformationsquelleAutor der Antwort Oli
Yair Altman hat ein sehr schönes Beispiel auf seinem blog, wie Sie können, verwenden Sie die backspace-steuerzeichen (
\b
) zu tun, was Sie wollen, aber in einer einfacheren Weg, als Sie waren überlegen. Ändern Sie Ihren code so, ähneln seinem Beispiel, könnten Sie so etwas tun:InformationsquelleAutor der Antwort gnovice
Ich benutze "dispstat" - Funktion nur für diesen Zweck. Es kann eine Aktualisierung der vorherigen Ausgabe, das ist eine fehlende Funktion der Standard - 'disp'. Sehr einfach zu bedienen. Es kann hier heruntergeladen werden: http://www.mathworks.com/matlabcentral/fileexchange/44673-overwritable-message-outputs-to-commandline-window
***Beispiel für die Verwendung:
***- Ausgang:
Alle die besten
InformationsquelleAutor der Antwort aspirin
Ist dies etwa das, was du suchst
Aber, wenn dein code zeigt andere Ergebnisse so nicht funktionieren. und möchten Sie vielleicht zu prüfen, mit einer message-box zu aktualisieren Fortschritt.
InformationsquelleAutor der Antwort Azim