Tom*_*ola 5 matlab function parameter-passing
如果我使用:func(1,2,3,4,5)调用matlab函数, 它可以完美地工作.
但如果我这样做: a = [1,2,3,4,5] %(a [1; 2; 3; 4; 5]给出相同的结果)
然后:
FUNC(a)中
给我:
??? 错误==> func at 11没有足够的输入参数.
func.m中的第11行是:
错误(nargchk(5,6,nargin));
我注意到这完美地运作:
FUNC(一(1),(2),(3),(4),(5))
如何使用向量'a'作为函数的参数?我有另一个函数otherfunc(b)返回一个,并希望将其输出用作这个func(otherfunc(b))的参数.
逗号分隔列表 (CSL)可以作为参数列表传递给函数,
所以你需要的是一个1,2,3,4,5
从数组构造的CSL .
它可以使用像这样的单元格数组生成:
a=[1,2,3,4,5];
c = num2cell(a);
func(c{:});
Run Code Online (Sandbox Code Playgroud)
小智 0
只需让函数接受一个参数即可。
function result = func(a)
if ~isvector(a)
error('Input must be a vector')
end
end
Run Code Online (Sandbox Code Playgroud)