如何在Matlab中做如下測試?在Matlab中做beta減少?
我的目標是避免重複作業和懶惰評估的東西 - 也許相關的問題multiple step anonymous functions。
顯然,大多數功能特性僅在Matlab2013B中受支持。
如何在Matlab中做如下測試?在Matlab中做beta減少?
我的目標是避免重複作業和懶惰評估的東西 - 也許相關的問題multiple step anonymous functions。
顯然,大多數功能特性僅在Matlab2013B中受支持。
難道這就是你的意思是:
x = 3;
f = @(y)(x+x*y);
現在f(y)
是功能3+3*y
。
所以,你可以把它放進一個循環,例如:
f = {};
for x = 1:5
f{x} = @(y)(x+x*y);
end;
,然後找到f(2)
爲每個x
cellfun(@(y)y(2), f)
ans =
3 6 9 12 15
重申丹的回答這些值,這是我所得到的在Octave:
octave:1> f = @(x) @(y) x + y
f =
@(x) @(y) x + y
octave:2> g = f (2)
g =
@(y) x + y
octave:3> g (3)
ans = 5
但我不知道Matlab ...
關於函數式編程的鏈接指的是符號工具箱,而不是標準matlab。函數式編程在matlab本身中有一些有限的支持([匿名函數](http://www.mathworks.com/help/matlab/matlab_prog/anonymous-functions.html),[mapping](http:// www。 mathworks.com/help/matlab/ref/arrayfun.html)函數到數組,這對你來說足夠了嗎? –
@hhh你能否澄清爲什麼Dan的答案不適合?你的問題似乎沒有問題。 –