索引超过了数组元素的数量。索引不得超过 1

Index exceeds the number of array elements. Index must not exceed 1

我想将匿名函数转换为符号函数。

我有类似的东西

f = @(x)4*(3/4*pi-x(1))-7*x(3)
g = sym(f)

但是我总是得到Index exceeds the number of array elements。索引不得超过 1。如何解决?

我的 x 通常大小为 8,1,但我想这应该不相关 我是否也需要将 x 转换为 sym 或?

在您的匿名函数 f 中,x 被定义为具有最少三个索引,因此 sym(f) 不能用于将其转换为 sym.

相反,您可以使用大小为 1x3 的符号变量 x 调用 f,如下所示:

g = f(sym('x',[1,3]));

给出:

>> g
g =
 3*pi - 7*x3 - 4*x1