常微分方程差分方法之matlab实现.doc
- 文档编号:1414962
- 上传时间:2022-10-22
- 格式:DOC
- 页数:3
- 大小:26.50KB
常微分方程差分方法之matlab实现.doc
《常微分方程差分方法之matlab实现.doc》由会员分享,可在线阅读,更多相关《常微分方程差分方法之matlab实现.doc(3页珍藏版)》请在冰豆网上搜索。
例1用欧拉方法求初值问题
的数值解,分别取,并计算误差,画出精确解和数值解的图形.
解编写并保存名为Eulerli1.m的MATLAB计算和画图的主程序如下
functionP=Eulerli1(x0,y0,b,h)
n=(b-x0)/h;X=zeros(n,1);
Y=zeros(n,1);k=1;
X(k)=x0;Y(k)=y0;
fork=1:
n
X(k+1)=X(k)+h;
Y(k+1)=Y(k)+h*(X(k)-Y(k));k=k+1;
end
y=X-1+2*exp(-X);plot(X,Y,'mp',X,y,'b-')
grid
xlabel('自变量X'),ylabel('因变量Y')
title('用向前欧拉公式求dy/dx=x-y,y(0)=1在[0,1]上的数值解和精确解y=x-1+2exp(-x)')
legend('h=0.075时,dy/dx=x-y,y(0)=1在[0,1]上的数值解','精确解y=x-1+2exp(-x)')
jwY=y-Y;xwY=jwY./y;
k1=1:
n;k=[0,k1];
P=[k',X,Y,y,jwY,xwY];
在MATLAB工作窗口输入下面的程序
>>x0=0;y0=1;b=1;h=0.0750;
P=Eulerli1(x0,y0,b,h)
在MATLAB工作窗口输入下面的程序
>>h1=0.0075;P1=Eulerli1(x0,y0,b,h1)
legend('h1=0.0075时,dy/dx=x-y,y(0)=1在[0,1]上的数值解','精确解y=x-1+2exp(-x)')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 方法 matlab 实现