Evaluate in a single value a function matrix

1 view (last 30 days)
Hi i have a to program Newton Raphson in many variables so for example: If i have a function
just like
It is known the Jacobian of f will return in this case a matrix of 2x2. I need to evaluate in a value for example u1=1 and u2=2. But f(1,1) obviously doenst work, i need to evaluate numerically this function and its jacobian and extend this for many variables above 2. By the way the jacobian is:
As you can see for example matrix A(1,1) returns element not a value so how can i evaluate a matrix and a vector in a known number without using x=rand(2,1), x(1),x(2) cause for many variables this will be more dificult to do it.
Thank you

Answers (1)

Walter Roberson
Walter Roberson on 29 Dec 2020
Use the Symbolic Toolbox to build the equations. Then use matlabFunction with the 'vars' option passing in a cell array that contains a single entry that is the vector of variable names. matlabFunction will then generate an anonymous function with all of the variables extracted from a single vector of inputs.
syms u1 u2
f = [exp(u1)-cos(u2); exp(u2)-u1^2];
fh = matlabFunction(f, 'vars', {[u1, u2]})
fh = function_handle with value:
@(in1)[-cos(in1(:,2))+exp(in1(:,1));exp(in1(:,2))-in1(:,1).^2]
  4 Comments
Walter Roberson
Walter Roberson on 29 Dec 2020
That is not my suggestion. I specifically said that you need to use the vars option with {} and I gave an example to emphasize what hasto be done .
JORGE ORDOÑEZ CARRASCO
JORGE ORDOÑEZ CARRASCO on 29 Dec 2020
Thank you i realized it wasnt your suggestion i just did it again and it work.Thank you so much

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!