How to solve differential equation

2 次查看(过去 30 天)
Hi ,
Can someone check my codes written below and find out the error in it?
1.dx/dt +x^2=0 , x(0)=x0 --> The solution should be x(t)=x0*exp((-x^2 )*t)
syms x(t) a x0
Dx=diff(x)
dsolve(Dx==-x.^2,x(0)==x0)
I'm getting
ans =1/(t + 1/x0) which I know, is wrong.
2.d2y/dt2+ w^2y=0 y(0)=y0 , dy/dt(0)=v0
My code:
syms y(t) w y0 v0
Dy=diff(y)
D2y=diff(y,2)
dsolve(D2y==-w^y, y(0)==y0,Dy(0)==v0)
Regards
Swati
  4 个评论
Walter Roberson
Walter Roberson 2020-1-29
If hypothetically there were an exponential term in the solution then it would have to be exponential in t and not x.
Have you taken your proposed exponential solution and substituted it into the differential equation to verify that it works? I believe that you will find that it does not work.
Bjorn Gustavsson
Bjorn Gustavsson 2020-1-29
That nonlinear differential equation can be solved with separation of variables.
You get:
That one you integrate from t0 to t giving you the solution matlab gave you. For a general solution of ODEs of this kind have a look at: Ricatti equation.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by