输入参数的数量错误

时间:2014-09-09 10:42:50

标签: matlab function substitution

我有一个99 * 1的符号表达式数组。它有676个变量,我将它们存储在'varsubs'中 我将其转换为

功能
 cccc = matlabFunction(sloads , 'vars' , varsubs)

我用

检查输入参数的数量
nargin(cccc)

和matlab返回676。 之后为了测试cccc函数我创建了一个数组

xxxx = ones(1,676)

和cccc

中的替代品
cccc(xxxx)

但我收到了错误

**使用

时出错

没有足够的输入参数。**

谁知道为什么会发生这种错误?

1 个答案:

答案 0 :(得分:0)

xxxx是一个包含676个元素的单个数组,因此您实际上只传递了1个参数。我真的不确定你究竟想要做什么,但是如果你真的想传递676个参数都等于1,那么你需要通过在单元格数组上调用{:}来生成逗号分隔列表。全部等于1

xxxx{676} = [];
[xxxx{:}] = deal(1);
cccc(xxxx{:})