用matlab解微分方程,有了边界条件

y=dsolve('D2y=y*(z Dy*Dy)^(3/2)','y(0)=1','Dy(0)=0.8')
结果是:
y =
piecewise([-z = 16/25,{(4*t)/5 1}],[-z 16/25,{}])
也就是说,只有z=-16/25时有解析解,解析解为y=4t/5 1,换成x就是y=4x/5 1.
其它情况没有解析解,至少matlab找不到解析解.
在无法求得解析解的情况下,可以用matlab的ode45等函数求解微分方程.我也知道求不出解析解,主要是能用ode45求出数值解吗?因为用ode系列函数求,貌似都要两个边界条件,一个是y(0)=,y'(0)=...,而我现在只有y=0处,y'=0;x=0处,y=0.8这样的边界条件,所以不知道如何去求他的数值解。。。。。转化为微分方程组求解啊。这。。。令h=[y,y']然后变成关于h的微分方程,这样ode就可以解了。数学功底不够的话可以去查相关的资料,有时间我再详细给你说。

更多阅读