2017-11-25 3 views
0

Ich habe eine anonyme Funktion A mit zwei Argumenten. Ich muss diese Funktion konvertieren, so dass es ein Argument benötigt, indem Sie das andere Argument in eine Konstante ändern.Konvertieren Eingabe einer anonymen Funktion

Zum Beispiel mit einer Funktion: A = @(X, Y) X + Y; ich jetzt haben möchte: B = @(Y) 3 + Y;

Dies scheint eine normale Sache zu sein, in der Mathematik zu tun, so dass ich denke, es ist ein Weg, so etwas zu tun, in MATLAB. Ich kann die Lösung jedoch nicht finden.

Der Grund, warum ich so etwas tun muss, ist, dass ich eine Funktion habe, die einige Berechnungen an A macht, aber auch Probleme lösen muss, wenn eines der Argumente A konstant ist. Finden Sie zum Beispiel ein Minimum von A für X = 3.

Antwort

2

Sie können die gleiche anonyme Funktion verwenden und X als 3 in sie, aber wenn Sie eine andere anonyme Funktion erstellen möchten, ist hier, wie das tun:

A = @(X, Y) X + Y; 
B = @(Y) A(3,Y);  %Here you have put X=3 

Um zu überprüfen:

>> A(3,4) 

ans = 

    7 

>> B(4) 

ans = 

    7 
+0

Das erklärt, warum es keine eingebaute Funktion gibt. Ich mag es, sehr schlau –

Verwandte Themen