Matrix with function handle: how to evaluate for a vector

Hello everyone,
Is there a way, if given a certain matrix with some function handles of n variables, to evaluate it with of vector giving values to those n variables?
Here's my exemple to make it clearer:
I have this matrix that is given has an input for a fucntion I'm coding:
J = @(x,y,z)[2*exp(2*x),0,-cos(x);-1,1,0;0,2*z,1]
And I have the vector:
X=[1;1;1] (I also tried writing it as X=[1,1,1])
And I would like to evaluate J with X in my code, but nothing I tried seems to work. Both J(X) and feval(J,X) return errors. Basically I would like to have the matrix J(1,1,1) without having to write it that way because I would like to directly take my matrix input to evaluate it with the vector input. Is there a way to do it?

 채택된 답변

Matt J
Matt J 2021년 3월 17일
편집: Matt J 2021년 3월 17일
Write J so that it has single argument syntax,
J = @(xyz) [2*exp(2*xyz(1)),0,-cos(xyz(1));-1,1,0;0,2*xyz(3),1];
X=[1;1;1];
J(X)
ans = 3×3
14.7781 0 -0.5403 -1.0000 1.0000 0 0 2.0000 1.0000

댓글 수: 2

Thank you! :)
You're welcome, but please Accept-click the preferred answer your problem.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2021년 3월 17일
J3 = @(V)J(V(1),V(2),V(3))
However if you happen to be generating the J function using the Symbolic toolbox then see the Vars option for matlabFunction, in particular 'vars', {[x, y, z]} would cause the generated function to expect a row vector of values.

카테고리

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

질문:

2021년 3월 17일

댓글:

2021년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by