2012-05-25 13 views

Antwort

14

Verwenden Sie Funktionshandles.

function f = functionReturner(u) 
% creates the function x.^u to return as an example 
f = @(x) x.^u; 

Wenn ich diese Funktion speichere, dann rufe functionReturner auf, das Argument ist selbst eine Funktion.

f = functionReturner(3); 
f(2.5) 
ans = 
     15.625 

Sie können leicht genug überprüfen, dass 15.625 tatsächlich 2,5^3 ist.

+2

Gibt es eine Möglichkeit, dies zu tun, ohne anonyme Funktionen zu verwenden? – Will

+0

@Will - Ich weiß nicht, welches Problem Sie lösen möchten oder welche MATLAB-Version Sie verwenden. Gibt es einen Grund, warum Sie die Antwort jetzt einschränken? Wenn Sie ein Hintergedanken haben, sagen Sie uns lieber, als dass wir alle raten. Das Lesen der Kristallkugel ist an manchen Tagen so schwierig. –

+1

Wenn Sie der anonyme Teil stört, funktioniert auch ein regulärer Funktionshandle für eine Unterfunktion. – Peter

Verwandte Themen