Durch die neuen Befehle, die Sie im Laufe des letzten Kapitels kennen gelernt haben, gibt es auch neue Fehlerquellen, die auftreten und die man beachten sollte. Damit es auch weiterhin möglich ist etwaige Fehler ausfindig zu machen und sie zu beheben.

  • ??? Error using ==> input/disp. Not enough input arguments.
    Nutzt man eine der beiden Funktionen (input/disp) kann es zu diesem Fehler kommen, wenn man vergisst anzugeben, was angezeigt werden soll. Das heißt man muss immer auf die Syntax der Befehle achten und darauf schauen, dass man diese auch entsprechend verwendet. Die Befehle erwarten, dass in den runden Klammern etwas steht, womit sie arbeiten können. In der Form input, input() oder disp, disp() fehlt das "Argument" (also etwas, dass in der Klammer steht), damit der Befehl ausgeführt werden kann.

  • ??? if/for/while | Error: Expression or statement is incomplete or incorrect.
    Dieser Fehler tritt im Zusammenhang mit den Kontrollstrukturen auf. Wie in den vorherigen Abschnitten gesehen, benötigen diese hinter dem Befehl (if/for/while) eine Bedingung oder einen Laufparameter. Das heißt vergisst man diesen, sagt matlab, dass der Ausdruck nicht vollständig bzw. falsch ist.

  • Error in ==> Test at 4
    Bei der Arbeit mit Skripten, kann es immer passieren, dass sich dort ein Fehler befindet, der beim Ausführen auftritt. Dann gibt matlab eine der bekannten Fehlermeldungen (siehe oben und FehlerI) aus, um den Nutzer zu sagen, was das Problem ist. Zusätzlich wird darunter gesagt in welchem Skript der Fehler lag, sowie die Zeile in diesem Skript. Damit kann man stets erkennen, wo genau das Problem liegt. Dies zeigt deutlich, dass matlab bei der Fehleranalyse sehr hilfreich ist und einen versucht zu leiten.


Zusätzlich zu den Fehlern, die auftreten, wenn man ein Skript ausführt, bietet matlab eine Fehlerprävention bei der Nutzung von Skripten. Wie Ihnen vielleicht schon aufgefallen ist, sind am rechten Rand manchmal verschiedenfarbige Striche aufgetaucht (rot,orange) sowie ganz oben ein farbiges Quadrat. Die untenstehenden Bilder erklären die Bedeutung dieser Symbole und bieten eine gute Orientierung. Dennoch sollte man daran denken, dass matlab nur syntaktische Fehler erkennen kann und keine inhaltlichen Fehler beim Lösen einer Aufgabe.

Rechnen

Ein grünes Quadrat gibt einem aus, dass es im vorliegenden Skript aus Sicht von matlab nichts zu verbessern gibt und zumindest keine falsche Syntax verwendet oder ein ähnlicher Fehler gemacht wurde. Das heißt, für alle verwendeten Befehle wurde zumindest die richtige Syntax verwendet. Damit wird keine Aussage über den korrekten mathematischen Inhalt im Sinne des Problems gegeben.

Rechnen

Im zweiten Fall steht oben ein orangenes Quadrat und zusätzlich ein entsprechend farbiger Strich, der die Zeile markiert in der das "Problem" liegt. Dies bedeutet nicht, dass ein Fehler aufgetreten ist oder eine falsche Syntax vorhanden ist. Dies gilt nur als eine Art Warnhinweis.
Es wird somit nicht unbedingt ein Problem auftreten, wenn man das Skript ausführt, aber es sind Möglichkeiten da es zu verbessern. Dies kann z.B. bedeuten, das die jetzige Variante sehr viel Rechenleistung oder Zeit in Anspruch nehmen kann. Der orange Strich tritt vor allem auf, wenn man das Semikolon weglässt, um den Ausdruck im Command Window zu unterdrücken. Daran sieht man deutlich, dass es nichts am Ergebnis ändert oder ein Fehler auftritt, wenn man es weglässt, aber es spart Rechenleistung und spamt das Command Window bei einer größeren Schleife nicht mit hunderten Zeilen zu.

Rechnen

Der dritte Fall ist, dass das Quadrat sowie die Striche, welche die Zeilen markieren rot gefärbt sind. Dies bedeutet nun, dass es sich um einen syntaktischen Fehler handelt und es bei der Ausführung dieser Zeile im Skript definitiv zu einer Fehlermeldung kommen wird. Daher ist es notwendig, die entsprechenden Zeilen zu überarbeiten, um den Fehler zu entfernen.


News

01. April 2015 | Grundversion verfügbar

Inhalt:

Marcus Bether, Michael Klöppel

Technische Umsetzung:

Marcus Bether, Michael Klöppel

Kontakt:

Jörg Wensch
E-Mail: