Matlab:如何在 matlabFunction 中指定输入?

Matlab: How to specify input in matlabFunction?

matlabFunction()是一个可以将符号函数转换为匿名函数的函数。但是如何指定在匿名函数上出现哪些输入参数?

例如,

x = sym('x', [3, 1])
func = matlabFunction(x)

它 returns 一个句柄:

func =

  function_handle with value:

    @(x1,x2,x3)[x1;x2;x3]

但是如何让这个返回:?

@(x) [x(1); x(2); x(3)]

整个 x 是输入参数,而不是它的每个元素。当 x 有很长的列时,这可能非常有用。

您可以将 x 的元素作为 comma separated list to func by first converting x to a cell array.

输入,而不是创建匿名函数
xcell = num2cell(x);
func(xcell{:})