我正在使用符号工具箱生成Matlab函数。但是,生成的函数的输入数量随所需对象(例如,开关数量)的数量而变化。对于2个和3个开关,生成的函数如下所示:
在使用此函数的脚本中,我建立了这些参数的向量:
我想要的是直接调用生成的函数或创建一个包装函数,这样当我改变开关数量时就不需要改变调用语句。更加复杂的是,这些变量是ACADO变量。这意味着矩阵和逐元素操作都是不允许的(即必须使用标量进行所有数学运算,并且符号工具箱中的方程必须写成标量形式)。
y = fun(a1,a2,b1,b2)
y = fun(a1,a2,a3,b1,b2,b3)
在使用此函数的脚本中,我建立了这些参数的向量:
a = [a1 a2 ...]
我想要的是直接调用生成的函数或创建一个包装函数,这样当我改变开关数量时就不需要改变调用语句。更加复杂的是,这些变量是ACADO变量。这意味着矩阵和逐元素操作都是不允许的(即必须使用标量进行所有数学运算,并且符号工具箱中的方程必须写成标量形式)。
f = @(x,y) (x+y); vargin {1} = 1; vargin {2} = 2; f(vargin)
- Torstein I. Bø