2009-06-18 16 views
17

Gibt es eine Möglichkeit, Informationen aus einem MATLAB-Programm ohne einen Zeilenvorschub auszugeben/anzuzeigen?Informationen aus MATLAB ohne Zeilenvorschub anzeigen

Mein MATLAB-Programm gibt ab und an eine Nummer aus. Zwischen der Ausgabe der Nummer macht das Programm eine Menge anderer Sachen. Dies ist ein Konstrukt, das hauptsächlich auf eine Art von Fortschritt hinweist, und es wäre nett, nicht jedes Mal einen Zeilenvorschub zu haben, nur um es für den Benutzer lesbarer zu machen. Das ist ungefähr das, was ich suche:

Current random seed: 
4 7 1 1 

Die nächste Ausgabe aus dem Programm auf der gleiche Reihe sein würde, wenn es immer noch die gleichen wie vor zu tun.

Ich habe das Dokument auf DISP, Sprintf und Format gelesen, aber habe nicht gefunden, was ich suche. Das bedeutet nicht, dass es nicht da ist. ;)

Antwort

22

Die Funktion fprintf fügt keinen Zeilenvorschub hinzu, es sei denn, Sie teilen dies ausdrücklich mit. Lassen Sie das Argument fid weg, damit es im Befehlsfenster gedruckt wird.

fprintf('Doing stuff... '); 
for i = 1:5 
    fprintf('%d ', i); 
    % do some work on that pass... 
end 
fprintf(' done.\n'); % That \n explicitly adds the linefeed 

sprintf Mit nicht ganz funktioniert: es erzeugt einen String ohne Zeilenvorschub, aber dann, wenn Sie disp() oder lassen Sie das Semikolon, disp eigene Anzeigelogik einen Zeilenvorschub hinzuzufügen.

+2

Hinweis: Abhängig von Ihrer Plattform müssen Sie möglicherweise "drawnow" aufrufen. nach dem fprintf. –

+0

Funktioniert wie ein Charme. – AnnaR

+0

Was weißt du, ich habe disp (sprintf (...)) seit Jahren gemacht und habe nie gewusst, dass du einfach fprintf benutzen kannst. –

Verwandte Themen