How to use "fsolve" to solve nonlinear simultaneous equations

21 vues (au cours des 30 derniers jours)
Sho Bunno
Sho Bunno le 23 Juin 2020
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!

Réponse acceptée

Sho Bunno
Sho Bunno le 24 Juin 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])

Plus de réponses (1)

KSSV
KSSV le 23 Juin 2020
syms x1 x2
eqns = [x1^2-1==0, x1*x2-3==0] ;
sol = solve(eqns,[x1, x2])
  1 commentaire
Sho Bunno
Sho Bunno le 23 Juin 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Systems of Nonlinear Equations dans Help Center et File Exchange

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by