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{:})
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{:})