Matlab: Gibt es eine Möglichkeit, die Codeausführung programmgesteuert sicher anzuhalten (wie FORTRANs Stopp)? [geschlossen]

10

Wie der Titel schon sagt, möchte ich in der Lage sein, den Code an einer bestimmten Stelle anzuhalten und sicher anzuhalten. Ich kann keinen Befehl finden, um dies zu tun, wie zum Beispiel in FORTRAN gibt es den Befehl stop.

Isopycnale Schwingung
quelle

Antworten:

15

Die Funktion beendet error('error message');Ihr Programm und druckt die Fehlermeldung an die Konsole.

Godric Seer
quelle
2

Es besteht breakdie returnMöglichkeit, eine Schleife zu verlassen und zur aufrufenden Funktion oder Tastatur / Eingabeaufforderung zurückzukehren.

Dolch
quelle
1

Hier ist eine Funktion, die dies tut (ohne eine Nachricht zu drucken):

function stoprun()
  ms.message='';
  ms.stack = dbstack('-completenames');
  ms.stack(1:end) = [];
  ds = dbstatus();
  stoponerror = any(strcmp('error', {ds.cond}));
  setappdata(0, 'dberrorkeep', stoponerror);
  dbclear error
  error(ms);
end
Kristján Jónasson
quelle
-2

Sie können "return" verwenden und es wird "die Steuerung an die aufrufende Funktion zurückgeben, bevor sie das Ende der Funktion erreicht", was für das Hauptprogramm bedeutet, das Programm zu verlassen.

Nikola
quelle
Was passiert, wenn Sie keine Funktion haben?
Nicoguaro