我在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上找到此类调用所需的语法。
答案 0 :(得分:9)
如果您将参数放在单元格数组中并使用comma-separated list运算符 :
,则可以这样做。
例如:
c = {x, y, z};
foo(c{:});
相当于:
foo(x,y,z);
最佳,