国父孙中山相片:请教一个微分方程的解答!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 22:27:09
方程为:
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'

dfx0=subs(dft,t,x0) ;%变量代换,用x0代换t
C1=solve(dfx0-y0/x0,'C1'); %求解积分系数C1,相当于'fx10-y0/x0=0'【注意了,C1是双根】

fx0=subs(ft,t,x0) ;%变量代换,用x0代换t
C2=solve(fx0-y0,'C2'); %求解积分系数C2,相当于'fx0-y0=0'

fx=subs(ft,t,x) ;%变量代换,用x代换t
fx=subs(fx,C2,'C2'); %将C2代入fx
y=subs(fx,C1,'C1') %%将C1再代入fx【注意了,fx0是双根】
%y=simplify(y) %化简fx

结果:
y =

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

我晕了....

晕!!!!!!!!!!!!!!!!!

糊涂了

oooo

matlab 求解指令
y=dsolve('x*D2y=k*(1+(dy)^2)^0.5','y(x0)=y0,Dy(x0)=y0/x0','x');
y=simple(y)
y =

(k*(1+dy^2)^(1/2)*log(x)-k*(1+dy^2)^(1/2)-(k*(1+dy^2)^(1/2)*x0
*log(x0)-y0)/x0)*x+k*(1+dy^2)^(1/2)*x0