IF Abfangbedingung THEN Fehlerbedingung END
IF Abfangbedingung THEN Fehlerbedingung ELSE Normalbedingung END
Die Arbeitsweise dieser logischen Anweisungen entspricht denen, die Sie bei
IF ... THEN ... END und IF ... THEN ... ELSE ... END bereits kennen gelernt
haben. Wird während der Ausführung der Abfangbedingungen ein Fehler
entdeckt, wird die Fehlerbedingung ausgeführt. In allen anderen Fällen
werden die Normalbedingungen ausgeführt.
Betrachten Sie beispielsweise das folgende Programm (@ERR1), das als Eingabe
zwei Matrizen A und b verwendet und dabei die Abfangbedingung auf
Fehler prüft: A b / (RPN-Modus, also A/b). Tritt ein Fehler auf, ruft das
Programm die Funktion LSQ (Least SQuares, siehe Kapitel 11) auf, um das
Gleichungssystem zu lösen:
IFERR A b / THEN LSQ END »
»
«
«
A b
Testen Sie das Programm mit den Argumenten A = [ [ 2, 3, 5 ] , [1, 2, 1 ] ]
und b = [ [ 5 ] , [ 6 ] ]. Eine einfache Division dieser Argumente verursacht
einen Fehler: /Error: Invalid Dimension.
Mit der Fehlerabfrage des Programms @ERR1 jedoch ergibt sich mit den
gleichen Argumenten: [0,262295..., 0,442622...].
Programmieren in UserRPL im algebraischen Modus
Obwohl alle Programme, die wir bisher vorgestellt haben, im RPN-Modus
erstellt und auch ausgeführt wurden, können Sie, wenn Sie sich im
algebraischen Modus befinden, Programme auch mithilfe der Funktion RPL> in
UserRPL eingeben. Die Funktion wird über den Befehlskatalog aufgerufen. Als
Beispiel, versuchen Sie dasselbe Programm im ALG-Modus und speichern Sie
→ X '2.5-3*X^2' »
dies in der Variablen P2:
«
Starten Sie zuerst die RPL> Funktion aus dem Befehlskatalog (‚N). Allen
im ALG-Modus gestarteten Funktionen werden mit einem Klammerpaar an
Seite 21-72