在Matlab中,我一般做的事情,如evaluatiing常數函數Matlab的
f = @(x) x.^2;
xx = 0:.1:1;
ff = f(xx);
所以f是一個功能手柄和兩個XX和FF是1x11載體。
但是,如果由於某種原因,我需要像這樣定義
f = @(x) 1;
我的功能手柄f和不改變代碼XX和FF,然後XX將仍然是一個載體,但FF不會:這將是一個雙倍的。
這當然很煩人,因爲我的代碼的續集假定ff是一個11x1向量,所以我需要在f發生常量時更改我的代碼。
所以我的第一個問題是,我的代碼是否聽起來開始。 如果是這樣,我該怎麼做才能使它在「恆定f」的情況下工作? 如果不是,我應該如何重寫它?
這是坦誠地相似 matlab constant anonymous function returns only one value instead of an array 但我不能在該線程中找到答案。
難道你不需要'f = @(x)ones(size(x));'? –