Problemlösungsstrategien

Zu Beginn wird es Ihnen häufig passieren, dass Ihre Programme nicht funktionieren. Das sollte Sie jedoch nicht entmutigen, denn das gehört zum Erlernen einer Programmiersprache dazu. Mit einem strukturierten Vorgehen ist es aber möglich, Fehler leichter zu finden und zu korrigieren. Die Fehler werden in Syntaxfehler und Semantikfehler unterschieden.

 

Syntaxfehler

 

In MATLAB ist eine gewisse Syntax einzuhalten, die für die korrekte Ausführung und Interpretation durch MATLAB notwendig ist. So sind zum Beispiel if-Abfragen mit einem end zu beenden, um eine geschlossene Abfrage dazustellen. Sollte man ein solches end vergessen, kann das Programm nicht ausgeführt werden. Ein solcher Fehler wird sowohl im Editor direkt, als auch beim Starten des Programms angezeigt. Im Editor wird ein möglicher Fehler durch ein rotes Minus symbolisiert und es befindet sich eine rote Schlangenlinie unter dem if. Bei der Ausführung wird der Fehler als Text ausgegeben.

Error: File: dice.m Line: 10 Column: 1
At least one END is missing: the statement may begin here.

Es wird sowohl Zeile als auch Zeichen genannt, bei dem der Fehler vermutet wird.

Fehlerausgaben von MATLAB sind gründlich durchzulesen, denn sie geben sehr gute Hinweise darauf, welcher Fehler an welcher Stelle aufgetreten ist. Dies hilft bei der Fehlerlokalisierung und Behebung.

 

Semantikfehler

 

Es kann neben Fehlern in der Syntax auch zu Fehlern im Ablauf eines Programms kommen. Gemeint ist damit, dass sich das Programm trotz korrekter Ausführung nicht wie erwartet verhält. Gründe hierfür können Fehler in der Semantik, also der Grammatik des Programmes, sein. Grammatik in Programmen betreffen die Logik. Es kann ein falscher Ablaufplan des Programmes, ein falsches Vergleichszeichen oder aber ein banaler Tippfehler sein. Hilfreich bei der Analyse solcher Fehler sind Ausgaben im Programm und der Einsatz eines Debuggers.

In MATLAB wird das Semikolon benutzt, um die Ausgabe einer Zeile zu unterdrücken. Dies wird speziell in Programmen dazu verwendet, damit der Nutzer keine Flut an irrelevanten Informationen im Command Window angezeigt bekommt. Zur Fehleranalyse ist es jedoch ratsam, an ausgewählten Zeilen das Semikolon einzusparen, um hier eine Ausgabe zu erzeugen. Durch diese Ausgabe können die Werte von Variablen während des Ablaufs kontrolliert werden. Daneben ist es möglich sogenannte Breakpoints zu setzen, bei denen die Abarbeitung des Programm unterbrochen wird und die derzeitigen Variablen im Workspace zur Analyse gespeichert werden. Auf diese Breakpoints wird später im Abschnitt zum Debugger eingegangen.