Rechnen mit Matlab

Im Gegensatz zu den Definitionen der Datentypen, die sich in den meisten Programmierbüchern an dieser Stelle finden würden, möchten wir mit der Mathematik in MATLAB beginnen. Die Eingabe von Gleichungen ähnelt der auf einem Blatt geschriebenen Notation bis auf wenige Konventionen, die für die Interpretation durch MATLAB notwendig sind.


Eine Gleichung in MATLAB hat das Format:

Zielvariable = Rechnung(Ausgangsvariable);

>>y = x+3;

In diesem Beispiel wäre die Ausgangsvariable x, die Durchgeführte Rechnung +3 und die Zielvariable y. MATLAB weist dem Ausdruck auf der linken Seite der Gleichung das Ergebnis des rechten Ausdrucks zu.

Variablen können natürlich auch direkt anderen Variablen oder Zahlen zugewiesen werden.

>>y = x;
>>y = 3;

 

Die Variablen werden in dem in Übung 1 vorgestellten Workspace angezeigt. Sollten Sie versucht haben die Zeile y = x+3; einzugeben - MATLAB hat Ihnen einen Fehler angezeigt.

 

Undefined function or variable 'x'.

 

Wie bereits aus der Fehlermeldung zu lesen, kann MATLAB im Workspace keine Variable x finden. Diese muss zunächst definiert werden. Weisen Sie x den Wert 4 zu.

Danach führen Sie noch einmal y = x + 3; aus. 

 

Neben der Addition beherrscht Matlab selbstverständlich alle Grundrechenarten und folgt zusätzlich dem Kommutativ-, Assoziativ- und dem Distributivgesetz.

 

>>x = 1;

>>y = x+3*(4+x)/2;


Hinweis:

Es empfiehlt sich Fehlermeldungen in MATLAB immer genau zu lesen, denn sie geben meist einen klaren Hinweis darauf wo der Fehler zu suchen ist.

 

Potenzen und Wurzeln

 

Die Definition von Potenzen in MATLAB ähnelt stark der von Taschenrechnern.

>>x = 2;

>>y = x^2;

 

Neben einer Zahl im Exponent ist es auch möglich größere Ausdrücke zu Nutzen mit Hilfe von Klammern.

>>x = 2;

>>y = 2^((2+x-3^x)/5);


MATLAB interpretiert das erste Zeichen hinter dem ^ als Exponent, es sei denn es handelt sich um eine öffnende Klammer, dann wird die gesamte Klammer als Exponent ausgewertet.

 

Die Wurzel ist nicht direkt als Zeichen implementiert in MATLAB, sondern als Funktion. Um eine Wurzel zu ziehen nutzen Sie die Funktion sqrt().

 

>>x = 2;

>>y = sqrt(2);


Sollten Sie die n-te Wurzel ziehen wollen, müssen sie die Funktion nthroot(X, n) verwenden. Das X steht hierbei für den auszuwertenden Ausdruck und n steht für die n-te Wurzel, die Sie ziehen wollen. Also die 2te, 3te etc. .

 

>>x = 8192;

>>y = nthroot(x, 13);

 

Die Funktion nthroot ist auch ein Beispiel für die sinnvolle Benennung von Funktionen, da Sie in ihrem Namen bereits ihre Funktion verrät.

 

Trigonometrische Funktionen

 

Neben den Grundrechenarten können sie auch alle trigonometrischen Funktionen nutzen.

sin(), cos(), tan(), sinh(), cosh(), tanh()

 

MATLAB erwartet den Winkel im Bogenmaß. Sie müssen also zur Berechnung von Sinus 90° zunächst den Winkel ins Bogenmaß umrechnen, was pi/2 wäre.

 

Auch die Inversen beherrscht MATLAB.

 

asin(), acos(), atan()

 

  • Probieren sie es aus indem sie den Sinus von 450° berechnen.

 

>>deg = 450.*(pi./180); 

>>sol = sin(deg)

 

Auch anspruchsvollere Ausdrücke, welche ihr Taschenrechner nicht mehr fassen kann, können sie mit MATLAB berechnen.

 

Logarithmus und e-Funktion

 

Um das Spektrum an alltäglichen mathematischen Funktionen abzuschließen sei an dieser Stelle noch Logarithmus und die e-Funtkion genannt.

Die eulersche Zahl ist entgegen der Erwartung nicht als Konstante in MATLAB hinterlegt sondern über eine Funktion zu erreichen.

 

>>x = 2;

>>y = exp(2);


Dieser Ausdruck entspricht der Rechnung:

 

 

Für die Berechnung des natürlichen Logarithmus stellt MATLAB die Funktion log() bereit.

 

>>y = log(y);

 

Führen sie die obige Zeile aus und sie sollten als Ergebnis 2 erhalten, was dem x Wert im Workspace entspricht. Für die Basen 10 und 2 stellt Matlab die Funktionen log10() und log2() bereit.

 

Betrag

Der Betrag wird mit der Funktion abs() berechnet.

>>a = -12;

>>a = abs(a)

 

Anwendung

Die Eingabe in MATLAB kann zu Anfang, vor allem bei komplexeren Ausdrücken Schwierigkeiten bereiten. Im Folgenden ist es Ihre Aufgabe die gegebenen Ausdrücke in MATLAB einzugeben und dann für den x-Wert 2 auszuwerten.

 

>> y = pi .* exp(x)


>> y = (47 ./ sin(x)) -10

>> y = 15 .* x .* sqrt(x)