Solving a first order ODE with dsolve
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
GuoZheng Lee
le 25 Mar 2021
Modifié(e) : John D'Errico
le 25 Mar 2021
Hi I wanted to use matlab to solve a bernoulli equation: using dsolve
This is the answer from matlab:
>> syms y(x)
>> ODE = diff(y, x) - 5*y == -5/2*y^3
ODE(x) =
diff(y(x), x) - 5*y(x) == -(5*y(x)^3)/2
>> y = dsolve(ODE)
y =
2^(1/2)*(-1/(exp(C1 - 10*x) - 1))^(1/2)
0
2^(1/2)
-2^(1/2)
The answer from matlab is different from the hand calculated solution: .
May I know how to get matlab to show the above answer? Also, what is the 3 numbers below the answer (0, 2^(1/2), -2^(1/2)) for? Thank you
0 commentaires
Réponse acceptée
John D'Errico
le 25 Mar 2021
Modifié(e) : John D'Errico
le 25 Mar 2021
While you may THINK that is the only answer, is it true that y==0 is also a solution?
How about the constant value of sqrt(2)? -sqrt(2)?
So is it vaguely possible that your hand calculated solution is not a complete one?
Next, consider that any expression can be writtten in different, but valid ways. Consider the expression:
exp(C + x)
where C is some unknown constant. Can that also be written as
D*exp(x)
where D is some equally unknown constant?
Since you did not provide initial values of any sort to dsolve, it produces a valid solution. The solution may not look exactly like yours, but it is still a valid solution, and in fact, a more complete solution than what you found.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Ordinary Differential Equations 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!