请教一个微分方程的解答!

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:14:30
方程为:
x*y''=k(1+y'^2)^0.5 (y''表示y的二阶导数,y'表示y的一阶导数,y'^2表示y的一阶导数的平方,(1+y'^2)^0.5表示(1+y'^2)开根号)
其中 k=a/b
初始条件为:
y(x0)=y0
y'(x0)=y0/x0

请求各位高手帮忙解决一下,急用啊!!!
用计算机解答或者用人脑解答都可以,但计算机的话最好用软件maple或者matlab,过程要详细点啊~!计算机的话代码要完全写出来哦~!

用Matlab一个命令就可以
>> y=dsolve('t*D2y=k*(1+Dy^2)^0.5','y(x0)=y0,Dy(x0)=y0/x0')
>> y=subs(y,t,'x')

运行结果:
y =

[ 1/2/(1+k)*x*exp(k*(log(x)+log(1/2/x0*(2*y0-2*(y0^2+x0^2)^(1/2))/exp(log(x0)*k))/k))+1/2*x/(-1+k)*exp(-k*(log(x)+log(1/2/x0*(2*y0-2*(y0^2+x0^2)^(1/2))/exp(log(x0)*k))/k))+2*k*(-x0-1/2*y0/x0*(2*y0-2*(y0^2+x0^2)^(1/2))+1/2*k*y0/x0*(2*y0-2*(y0^2+x0^2)^(1/2)))*x0/(2*y0-2*(y0^2+x0^2)^(1/2))/(-1+k^2)]
[ 1/2/(1+k)*x*exp(k*(log(x)+log(1/2/x0*(2*y0+2*(y0^2+x0^2)^(1/2))/exp(log(x0)*k))/k))+1/2*x/(-1+k)*exp(-k*(log(x)+log(1/2/x0*(2*y0+2*(y0^2+x0^2)^(1/2))/exp(log(x0)*k))/k))+2*k*(-x0-1/2*y0/x0*(2*y0+2*(y0^2+x0^2)^(1/2))+1/2*k*y0/x0*(2*y0+2*(y0^2+x0^2)^(1/2)))*x0/(2*y0+2*(y0^2+x0^2)^(1/2))/(-1+k^2)]

以下是我开始笨办法做的,也放在这里吧,以提醒我要刻苦钻研。

clear;clc
syms t x a b x0 y0 k %定义符号变量
ft=dsolve('t*D2y=k*(1+Dy^2)^0.5'); %解微分方程.无边界条件的全解,matlab默认t为自变量
dft=diff(ft);%对ft求导即dft=y'