2017-11-25 193 views
0

我有一個匿名函數A帶兩個參數。我需要轉換這個函數,所以它需要一個參數,通過改變另一個參數爲常量。轉換匿名函數的輸入

例如具有如下功能: A = @(X, Y) X + Y; 現在,我想有: B = @(Y) 3 + Y;

這似乎是在數學做一個正常的事情,所以我想有一種方法做這樣的事情MATLAB。雖然我找不到解決方案。

的原因,我需要做這樣的事情是,我有做對A一些計算功能,還需要解決問題時的A的論據之一是恆定的。例如,找到X = 3的最小A

回答

2

您可以使用相同的匿名函數,並把X作爲3的,但如果你想創建另一個匿名函數,這裏是如何做到這一點:

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

驗證:

>> A(3,4) 

ans = 

    7 

>> B(4) 

ans = 

    7 
+0

這解釋了爲什麼沒有內置功能。我喜歡它,非常聰明 –