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

问题描述:

用matlab解微分方程,有了边界条件
求利用matlab解微分方程:y''=y*(z+y'^2)^(3/2)初始条件:y=0处,y'=0;x=0处,y=0.

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就可以解了。数学功底不够的话可以去查相关的资料,有时间我再详细给你说。