Using an array as input argument of a function handle

조회 수: 2 (최근 30일)
Julen Paniagua
Julen Paniagua 2020년 5월 12일
댓글: Julen Paniagua 2020년 5월 12일
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개)

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by