Using an array as input argument of a function handle

Hi,
I have a jacobian matrix created using symbolic variables and I was evaluating it using "subs" command. However, I was recommended to use matlabFunction and handleing it as a function handle. The dymensions of the jacobian matrix depend on my system structure and therefore its size is variable, so I am trying to create a generic code.
There is no problem creating the function handle.
(...some code)
% Function handle of Jacobian
J = matlabFunction(J);
and J is:
J =
function_handle with value:
@(V1,V2,V3,V4,theta1,theta2,theta3,theta4)reshape...
My problem comes here. If I design input arguments using a variable which is an array:
a = [1,1,1,1,0,0,0,0];
J_num = J(a);
I get the following error:
Not enough input arguments.
Error in
symengine>@(V1,V2,V3,V4,theta1,theta2,theta3,theta4)reshape([V1.*V2.*cos...
However, If I put it like this it works perfectly:
J_num = J(1,1,1,1,0,0,0,0);
Can anyone can help me?
Thank you in advance!!!

 채택된 답변

James Tursa
James Tursa 2020년 5월 12일
c = num2cell(a);
J_num = J(c{:});

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2020년 5월 12일

댓글:

2020년 5월 12일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by