# Solve system of nonlinear equations with matlab

3 views (last 30 days)
Noa Yelin on 19 Oct 2020
Commented: Ameer Hamza on 19 Oct 2020
how can i solve these 2 nonlinear equations in matlab?
−2𝑥^2+3𝑥𝑦+4sin (y)=6
3𝑥^2−2𝑥𝑦^2+3cos(𝑥)=−4

#### 1 Comment

Noa Yelin on 19 Oct 2020

Ameer Hamza on 19 Oct 2020
Edited: Ameer Hamza on 19 Oct 2020
One way is to use fsolve() from optimization toolbox
fun = @(x, y) [-2*x.^2+3*x.*y+4*sin(y)-6; ...
3*x.^2-2*x.*y.^2+3*cos(x)+4];
sol = fsolve(@(x) fun(x(1), x(2)), rand(1, 2));
x = sol(1);
y = sol(2);
Result
>> x
x =
0.5798
>> y
y =
2.5462
Note: due to periodic functions in you equations, there seems to be multiple solutions.
Another approach is to use vpasolve from symbolic toolbox
syms x y
eq1 = -2*x.^2+3*x.*y+4*sin(y)==6;
eq2 = 3*x.^2-2*x.*y.^2+3*cos(x)==-4;
eq = [eq1; eq2];
sol = vpasolve(eq);
x = sol.x;
y = sol.y;

Noa Yelin on 19 Oct 2020
so i don't understand.. when I wrote this code-
syms x y
eq1 = -2*x.^2+3*x.*y+4*sin(y)==6;
eq2 = 3*x.^2-2*x.*y.^2+3*cos(x)==-4;
eq = [eq1; eq2];
sol = vpasolve(eq);
x = sol.x;
y = sol.y;
the output i get is -
x =
2.5921649161329924198470406781904
y =
2.0411522493463611320382918142382
is this correct?
Ameer Hamza on 19 Oct 2020
Yes, this is corect. These equations have multiple solutions.