Warum wird die Matlab-Funktion "feval" benötigt?
Einem function-handle kann verwendet werden, um eine Funktion aufzurufen, z.B.
f = @sin;
val = f(1.0);
also, warum ist "feval" jemals gebraucht?
val = feval(f, 1.0);
Wann ist es sinnvoll?
Kommentar zu dem Problem
Ich finde, es macht den code leichter zu Lesen, da sind die Klammern, sowohl für die Indizierung und den Funktions-Aufruf. Mit
feval
macht deutlich, was wir tun. InformationsquelleAutor der Frage Da Kuang | 2013-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für
feval
, das erste argument kann eine Zeichenfolge in Anführungszeichen ein, so dass Sie mehr Flexibilität als eine Funktion verarbeiten. Sie konnte Dinge tun, wie mit Funktionen mit einem Basis-Namen, gefolgt von einem index, wie infn1
,fn2
,fn3
, und rufen Sie dann diese dynamisch mitfeval(['fn', num2str(k)], x, y, z);
.InformationsquelleAutor der Antwort s.bandara
Bis Version 14 (MATLAB 7), feval war die Weg zu bewerten, eine Funktion Griff... oder zu bewerten Funktionen, wenn Sie über Ihren Namen angegeben.
Quelle: Mentales Modell für
feval()
.InformationsquelleAutor der Antwort Oleg
Nicht unbedingt immer wissen Sie, welche Funktion soll verwendet; es gibt viele Beispiele
hier ist ein dummes Beispiel: lassen Sie in einer text-Datei nach jeder Nummer, anderes Wort ausgewertet werden kann als eine mathematische Funktion, wie, Mittelwert, min, max, Quadrat dargestellt sind, und die Aufgabe ist die Berechnung des Ergebnis nach jeder mag,
, und Sie möchten, um ein Programm zu schreiben, gehen Sie durch diesen text und berechnen das endgültige Ergebnis ...
anderes Beispiel ist zum Beispiel, ich möchte zum definieren eines plot-Funktion mit Benutzer-input function handle f, so muss es in einer Weise flexibel ...
InformationsquelleAutor der Antwort user702846