function_handle
Function Handles
Beschreibung
Function Handles sind MATLAB®-Datentypen, die eine Funktion repräsentieren. Function Handles dienen typischerweise dazu, eine Funktion auf eine andere Funktion zu übertragen. Beispielweise können Sie Function Handles als Eingabeargumente für Funktionen verwenden, die mathematische Ausdrücke über eine Reihe von Werten bewerten. Weitere übliche Verwendungszwecke von Function Handles umfassen:
Callback-Funktionen festlegen (z. B. ein Callback, der auf ein UI-Ereignis reagiert oder mit Datenerfassungs-Hardware interagiert).
Handles für inline festgelegte statt in einer Programmdatei gespeicherte Funktionen (anonyme Funktionen) erstellen.
Erstellung
Erstellen Sie mithilfe des Operators @ einen Function Handle. Function Handles können entweder benannte oder anonyme Funktionen sein.
Benannte Function Handles stellen Funktionen in bestehenden Programmdateien dar, darunter Funktionen, die Teil von MATLAB sind und Funktionen, die Sie mit dem Schlüsselwort
functionerstellen. Um einen Handle für eine benannte Funktion zu erstellen, setzen Sie das Zeichen@vor den Funktionsnamen.Erstellen Sie beispielsweise einen Handle für die Funktion
sinund verwenden Sie daraufhinfminbnd, um den Wert x zu finden, der sin(x) im Bereich von 0 bis minimiert:f = @sin; m = fminbnd(f,0,2*pi);
Anonyme Function Handles (auch als anonyme Funktionen) bezeichnet, stellen einzelne ausführbare Inline-Ausdrücke dar, die eine Ausgabe liefern. Um eine anonyme Funktion zu definieren, setzen Sie die Namen der Eingabeargumente unmittelbar nach dem
@-Operator in Klammern und geben Sie daraufhin den ausführbaren Ausdruck an.Erstellen Sie beispielsweise einen Handle für eine anonyme Funktion, die den Ausdruck x2 − y2 auswertet:
f = @(x,y) (x.^2 - y.^2);
Anonyme Funktionen können mehrere Eingaben akzeptieren, aber nur eine Ausgabe zurückgeben.