fsolve for generated equations

1 view (last 30 days)
Dear Matlab Community,
While doing a solution with MATLAB, I got 2 nonlinear equations, say, eqn1 and eqn2 generated with two variables s and t in output. The size of equations are large (got as output). How can I use "fsolve" for solving them without copying them from the output and without setting x(1) and x(2) but defining and ?

Accepted Answer

Star Strider
Star Strider on 1 Jun 2021
Having the equations themselves would hellp.
However assuming they are something like this:
y1 = s.^2 + 10*t;
y2 = 10*s + t.^1/3;
I would code them as:
y1 = @(s,t) s.^2 + 10*t;
y2 = @(s,t) 10*s + t.^1/3;
then:
X = fsolve(@(x) [y1(x(1),x(2)); y2(x(1),x(2))], [3 9])
Equation solved. fsolve completed because the vector of function values is near zero as measured by the value of the function tolerance, and the problem appears regular as measured by the gradient.
X = 1×2
1.0e+-13 * -0.0099 0.2960
.
  4 Comments
Aniket Roy
Aniket Roy on 9 Jun 2021
Dear Sir,
thanks. I have got the equations and in script from and . And I got the full equations like
that I need to copy from the output and paste it in the script to use fsolve. Is there any way that I can directly use
y1=@(s,t) real(det(A)) and y2=@(s,t) imag(det(A))?
Star Strider
Star Strider on 9 Jun 2021
I need either to have the actual equations, or the information necessary to calculate ‘y1’ and ‘y2’.
I cannot go further without that information.
Also, what variables are they to be solved for?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!