相当于 Octave / Matlab 中的 "apply"?
equivalent of "apply" in Octave / Matlab?
我在 Octave / Matlab 中有一个这样的函数(真实的要复杂得多)
function result = foo (x, y, z)
result = x + y + z;
endfunction
函数的正常调用方式如下:
foo (1, 2, 3);
但我想将它应用于封装在数组中的参数,如下所示:
myStuff = [1, 2, 3];
apply (foo, myStuff);
或
foo (myStuff);
我无法在文档或 Google 上找到此类调用所需的语法。
如果您将参数放在元胞数组中并使用 comma-separated list 运算符 :
.
,则这是可能的
例如:
c = {x, y, z};
foo(c{:});
相当于:
foo(x,y,z);
最佳,
我在 Octave / Matlab 中有一个这样的函数(真实的要复杂得多)
function result = foo (x, y, z)
result = x + y + z;
endfunction
函数的正常调用方式如下:
foo (1, 2, 3);
但我想将它应用于封装在数组中的参数,如下所示:
myStuff = [1, 2, 3];
apply (foo, myStuff);
或
foo (myStuff);
我无法在文档或 Google 上找到此类调用所需的语法。
如果您将参数放在元胞数组中并使用 comma-separated list 运算符 :
.
例如:
c = {x, y, z};
foo(c{:});
相当于:
foo(x,y,z);
最佳,