in die Befehlszeile gedruckt wird Bevor Sie antworten, suche ich nicht nach der Funktionalität von ;
, um das Drucken von Befehlszeilen zu unterdrücken.Verhindern, dass in MATLAB
Ich habe eine Reihe von Skripten, die nicht von mir sind und ich habe nicht die Fähigkeit zu ändern. In meinen Skripten rufe ich jedoch über evalin('base', 'scriptName')
diese anderen Skripte an. Leider machen diese anderen Skripts unnötigen und hässlichen Druck auf das Befehlsfenster, das ich nicht sehen möchte. Ohne in der Lage zu sein, diese anderen Skripte zu bearbeiten, möchte ich eine Möglichkeit haben, die Ausgabe für die Zeit, die diese anderen Skripte ausführen, in die Befehlszeile zu unterdrücken.
Eine mögliche Antwort war, evalc
zu verwenden, aber wenn ich versuche evalc(evalin('base', 'scriptName'))
wirft MATLAB einen Fehler, der beschuldigt, dass es ein Skript nicht als Funktion ausführen kann. Ich hoffe, es gibt so etwas wie die Fähigkeit, das Drucken des Befehlsfensters zu deaktivieren oder die gesamte Ausgabe auf eine Null-Datei umzuleiten, ähnlich wie /dev/null
in Unix.
Wie werden die Skripte in das Befehlsfenster ausgeben? Mangel an ';'? 'disp'? 'fprintf'? Warum können Sie die Skripte nicht bearbeiten? – excaza
Sie verwenden in der Regel 'fprintf'. Ich kann die Skripte nicht bearbeiten, weil sie nicht meine sind und ich keinen Zugriff darauf habe. Ich kann sie nur laufen lassen. – zephyr
Sie konnten * [überladen 'fprintf'] (http://stackoverflow.com/a/3029833/2748311) nichts tun, aber das ist keine gute Lösung. Sie sind besser dran, die Dateien selbst zu reparieren. Sie wären auch viel besser dran, diese Skripte in Funktionen umzuwandeln, so dass Sie Argumente explizit übergeben, anstatt sich auf "evalin" zu verlassen, um richtig zu funktionieren. – excaza