How to use "fsolve" to solve nonlinear simultaneous equations

2 visualizzazioni (ultimi 30 giorni)
I want to solve nonlinear simultaneous equations by using the function "fsolve".
I can solve a nonliner equations by using "fsolve".
However, I have the following error message when I try to solve nonlinear simultaneous equations.
Could you tell me how to modify my code?
syms x1 x2
equ1=x1^2 - 1;
equ2=x2*x1 - 3;
test1=matlabFunction(equ1);
solve1 = fsolve(test1, [0.5])
% solve1 is correct.
test2=matlabFunction(equ1, equ2);
solve2 = fsolve(test2, [0, 0])
% Error!

Risposta accettata

Sho Bunno
Sho Bunno il 24 Giu 2020
Thanks, everyone.
I have solved the problem by myself.
syms x1 x2
equ1=x1^2 - 1;
equ2=x2*x1 - 3;
equs=[equ1;equ2];
myfun = matlabFunction(equs);
fun= @(x) myfun(x(1),x(2))
solve= fsolve(fun, [0, 0])

Più risposte (1)

KSSV
KSSV il 23 Giu 2020
syms x1 x2
eqns = [x1^2-1==0, x1*x2-3==0] ;
sol = solve(eqns,[x1, x2])
  1 Commento
Sho Bunno
Sho Bunno il 23 Giu 2020
Thank you for your quick response.
However, I want to use "fsolve" because I want to adjust the tolerance for solving another equations.
I apologize for my lack of words.

Accedi per commentare.

Categorie

Scopri di più su Systems of Nonlinear Equations in Help Center e File Exchange

Tag

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by