matlabFunction()
是可以将符号转换为匿名函数的函数。但是如何指定要在匿名函数上出现的输入参数?
例如
x = sym('x', [3, 1])
func = matlabFunction(x)
它返回带有以下内容的句柄:
func =
function_handle with value:
@(x1,x2,x3)[x1;x2;x3]
但是如何使它返回:?
@(x) [x(1); x(2); x(3)]
整个x
是输入参数,而不是它的每个元素。当x
的列很长时,这可能非常有用。
答案 0 :(得分:3)
您可以在第一个comma separated list之前将x
的元素作为converting x
to a cell array到func
的输入,来代替匿名功能。
xcell = num2cell(x);
func(xcell{:})