How to use "fsolve" to solve nonlinear simultaneous equations

4 Ansichten (letzte 30 Tage)
Sho Bunno
Sho Bunno am 23 Jun. 2020
Beantwortet: Sho Bunno am 24 Jun. 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!

Akzeptierte Antwort

Sho Bunno
Sho Bunno am 24 Jun. 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])

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Systems of Nonlinear Equations finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by