用R-K方法求解微分方程的初值问题:(取h=0.2)dy/dx=-y+x+1,y(0)=1在x=0.6处的函数值为??

来源:百度知道 编辑:UC知道 时间:2024/05/03 12:09:16

这是一个非齐次线性方程.先求对应的齐次线性方程的通解
(dy/dx)*x=y
>>>>>>>>>>>dy/y=dx/x
>>>>>>>>>>y=Cx
用常数变易法,把C换成u,令
y=ux
>>>>>>>>>>y'=u+u'x带入原方程
>>>>>>>u=ln|x|+C
>>>>>>y=x*ln|x|+Cx
>>>>>>>>>又y(0)=0
>>>>c=任意值
>>>>>>>>>>>y=x*ln|x|+Cx

一、Matlab解答
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function dy=zhidao_yang11512(x,y)
dy=[-y+x+1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下面输入:
x_end=0.6;
y0=1;
[x,y]=ode45('zhidao_yang11512',[0,x_end],y0);
plot(x,y);
xlabel('x');
ylabel('y');
y(end)

得到的结果是:
1.1488

一楼强,直接解出来了.二楼高明,要我也是这么做的.
我就不写代码了,但强烈建议你用手工