相当于Octave / Matlab中的“apply”?

时间:2015-02-06 19:12:13

标签: matlab octave

我在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上找到此类调用所需的语法。

1 个答案:

答案 0 :(得分:9)

如果您将参数放在单元格数组中并使用comma-separated list运算符 : ,则可以这样做。

例如:

c = {x, y, z};
foo(c{:});

相当于:

foo(x,y,z);

最佳,