Anonyme Funktionen in Matlab

Wir beschäftigen uns heute mit anonymen Funktionen in Matlab.

Was versteht man unter einer anonymen Funktion? Es handelt sich um eine mathematische Funktion mit einer oder mehreren Variablen, die innerhalb anderer Funktionen definiert wird, ohne einen spezifischen Namen zu erhalten. Der Begriff "anonym" rührt daher, dass diese Funktionen keinen eigenen Namen besitzen. Ihr Einsatz beschränkt sich auf die Funktionen, in denen sie enthalten sind.

Um eine anonyme Funktion in Matlab zu erstellen, nutzen Sie folgende Syntax:

name@(variablen) ausdruck

Zunächst geben Sie das Symbol "@" ein, gefolgt von den unabhängigen Variablen der Funktion, eingeschlossen in Klammern.

Danach fügen Sie, getrennt durch ein Leerzeichen, den Funktionsausdruck hinzu.

Warum sind anonyme Funktionen nützlich? Sie eignen sich besonders, wenn Sie eine einmalige Routine innerhalb eines Skripts benötigen. Dies spart Ihnen die Definition einer weiteren, separaten Funktion im Skript, wodurch Ihr Skript schlanker und speichereffizienter wird.

Lassen Sie uns das an einem praktischen Beispiel veranschaulichen.

Stellen Sie sich vor, Sie möchten die Elemente eines Arrays quadrieren. Hierzu können Sie die Funktion arrayfun() verwenden, die mittels einer anonymen Funktion jedes Element des Arrays quadriert. Die Funktion lautet: @(x) x^2.

A = [1, 2, 3, 4, 5];
B = arrayfun(@(x) x^2, A);
disp(B);

Die anonyme Funktion trägt keinen Namen.

Sie ist ausschließlich innerhalb der arrayfun() Funktion nutzbar und außerhalb nicht sichtbar.

Das Ergebnis wird in der Variablen B gespeichert und mit der Funktion disp() ausgegeben.

1 4 9 16 25

Dies sind die Quadrate der Elemente des Vektors A.

Sie können anonyme Funktionen auch wie reguläre Funktionen verwenden, indem Sie ihnen vor dem "@"-Symbol einen Namen geben.

Betrachten wir zum Beispiel folgende anonyme Funktion:

>> f = @(x,y) x^2+y^2

Diese Funktion wird "f" genannt und hat zwei unabhängige Variablen, x und y, mit dem Ausdruck x2+y2.

$$ f(x,y) = x^2+y^2 $$

Hinweis: In diesem Beispiel trägt die Funktion den Namen "f", sie könnte jedoch auch anders benannt werden.

Nach der Definition können Sie die Funktion mit verschiedenen Parametern mehrmals aufrufen.

Zum Beispiel liefert der Befehl f(2,3) das Ergebnis des Ausdrucks x^2+y^2.

>> f(2,3)

Die Funktion erhält die Parameter x=2 und y=3, die den unabhängigen Variablen zugewiesen werden.

Anschließend berechnet und zeigt sie das Ergebnis von x2+y2, welches 13 beträgt.

ans = 13

Das Ergebnis ist 13, da die Berechnung mit den zugewiesenen Werten 4+9 ergibt.

$$ f(x=2,y=3) = x^2 + y^3 = 2^2 + 3^2 = 4+9 = 13$$

Wenn Sie die Funktion erneut mit anderen Parametern aufrufen, zum Beispiel mit f(3,4), wird das Ergebnis entsprechend angepasst.

>> f(3,4)

Hier erhält die Funktion die Parameter x=3 und y=4, die den Variablen x und y zugewiesen werden.

Die Berechnung des Ausdrucks ergibt 25.

ans=25

Das Resultat ist 25, da sich aus der Berechnung 9+16 ergibt.

$$ f(x=3,y=4) = x^2 + y^3 = 3^2 + 4^2 = 9+16 = 25 $$

Zusammenfassend lassen sich anonyme Funktionen in Matlab hervorragend einsetzen, wenn Sie Funktionen definieren möchten, ohne ihnen einen Namen zu geben oder wenn Sie eine Funktion nur einmal innerhalb eines Skripts verwenden möchten. Probieren Sie es aus und überzeugen Sie sich selbst von ihrer Nützlichkeit.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Funktionen in Matlab