相关疑难解决方法(0)

在Matlab中调用具有不同数量参数的函数

我正在使用符号工具箱来生成matlab函数.但是生成函数的输入数量随着我需要的对象数量(例如,开关数量)而变化.对于2和3个开关,生成的函数看起来像这样:

y = fun(a1,a2,b1,b2)
y = fun(a1,a2,a3,b1,b2,b3)
Run Code Online (Sandbox Code Playgroud)

在使用此函数的脚本中,我建立了这些参数的向量:

a = [a1 a2 ...]
Run Code Online (Sandbox Code Playgroud)

我想要的是直接调用生成的函数或者创建一个包装器函数,这样我在更改开关数时就不需要更改调用语句了.为了使这个问题更加复杂,这些变量是ACADO变量.这意味着不允许矩阵和元素操作(即,必须使用标量完成所有数学运算,并且必须为标量编写符号工具箱中的公式).

matlab parameter-passing cell-array

6
推荐指数
1
解决办法
8881
查看次数

想要使用向量作为函数的参数,而不必分离其元素

如果我使用: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))的参数.

matlab function parameter-passing

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

matlab ×2

parameter-passing ×2

cell-array ×1

function ×1