Matrix with function handle: how to evaluate for a vector
Show older comments
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?
Accepted Answer
More Answers (1)
Walter Roberson
on 17 Mar 2021
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.
1 Comment
Pascale Robillard
on 18 Mar 2021
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!