Effacer les filtres
Effacer les filtres

Solving system of 3 non-linear equations.

65 vues (au cours des 30 derniers jours)
Tushar
Tushar le 13 Fév 2011
Hello, I'm trying to solve a system of equations using matlab.
The three variables are: xo2, xo, xar
I've entered the equations in as follows:
syms xo2 xo xar
eq1 = xo2 +xo +xar = 1
eq2 = 2*xo2 +xo -4*xar = 0
eq3 = 2.063E-4*xo2 = xo^2
Then, to solve the system for the variable xo I typed:
solve('eq1', 'eq2', 'eq3', xo)
and I get this message: Warning: Explicit solution could not be found.
What am I doing wrong? I'm fairly ceratain that this system is solvable.
is it because I am using symbolic algebra? For hte problem that I am solving, I dont need a general expression for the value, I just need a number.
  2 commentaires
YARA NABA
YARA NABA le 10 Mar 2019
Déplacé(e) : Dyuman Joshi le 4 Avr 2024
syms x y z
eq1=exp(x)+sqrt(y)-z.^3-2
eq2=x.^2-y-z-5
eq3=x+exp(y-1)+z-7
sol=solve(eq1,eq2,eq3)
sol
how can i rewrite it
darova
darova le 10 Mar 2019
Déplacé(e) : Dyuman Joshi le 4 Avr 2024
What it is wrong with it?

Connectez-vous pour commenter.

Réponse acceptée

Oleg Komarov
Oleg Komarov le 13 Fév 2011
Rewrite as:
syms xo2 xo xar
eq1 = xo2 +xo +xar - 1;
eq2 = 2*xo2 +xo -4*xar;
eq3 = 2.063E-4*xo2 - xo^2;
sol = solve(eq1,eq2,eq3);
sol.xo
Oleg
  3 commentaires
Adithya Valavi
Adithya Valavi le 24 Mar 2020
Plz tell me if you knew how to solve this equations
Christopher Creutzig
Christopher Creutzig le 25 Mar 2020
Adithya Valavi, did you try vpasolve?
It's usually a good idea to post a new problem in a new question, rather than adding a comment to something related.

Connectez-vous pour commenter.

Plus de réponses (3)

Pierce Brady
Pierce Brady le 30 Mar 2011
the output class will be syms, so try casting the answer to a double
class(ans)
double(ans)
class(ans)
  1 commentaire
Tyler Tomlinson
Tyler Tomlinson le 12 Déc 2015
That was a huge help, thank you so much

Connectez-vous pour commenter.


Pier Giorgio Petrolini
Pier Giorgio Petrolini le 23 Mar 2020
I hope it can be already helpfull...
syms x y z
eq1=exp(x)+sqrt(y)-z.^3-2
eq2=x.^2-y-z-5
eq3=x+exp(y-1)+z-7
eqs = [eq1, eq2, eq3]
[x,y,z]=vpasolve(eqs,[x,y,z])
% Reported results
x = -2.8;
y = 3.33;
z = -0.48;
  1 commentaire
Stephen Ofori
Stephen Ofori le 13 Jan 2023
This is also working, but the approximations makes it unsuitable for solutions where very small errors are required. If your work require minimal error then it is better to use the solve or fsolve.

Connectez-vous pour commenter.


Tushar
Tushar le 13 Fév 2011
Ah thanks, excellent.
Now the only problem is that when I use your code, matlab spits out a crazy number like this:
ans =
- 2995371679198674497313343284804110513^(1/2)/147573952589676412928 - 12685211008020935/147573952589676412928
how do I get it to something more readable.. like scientific notation or something
  2 commentaires
Walter Roberson
Walter Roberson le 14 Fév 2011
Use vpa() or double() to get the number in decimal format.
Tushar
Tushar le 14 Fév 2011
Thanks Walter

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by