一阶常微分方程的初值问题求解.doc

一阶常微分方程的初值问题求解.doc

ID:48592069

大小:68.50 KB

页数:4页

时间:2020-02-26

一阶常微分方程的初值问题求解.doc_第1页
一阶常微分方程的初值问题求解.doc_第2页
一阶常微分方程的初值问题求解.doc_第3页
一阶常微分方程的初值问题求解.doc_第4页
资源描述:

《一阶常微分方程的初值问题求解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一阶常微分方程的初值问题1.欧拉方法欧拉公式:算法(欧拉方法)(1)给定整数N;(2);(3)(4)对k=2,3,…N+1做:(5)返回基于欧拉方法的Matlab程序如下:function[x,y]=odeEuler(f,y0,a,b,h)n=(b-a)/h;x=a:h:b;y(1)=y0;fori=1:ny(i+1)=y(i)+h*feval(f,x(i),y(i));end2.改进的欧拉公式:算法(改进欧拉方法):(1)给定整数N;(2);(3)(4)对k=2,3,…N+1做:(1)返回基于改进欧拉方法的Matlab程序如下:function[x,y

2、]=odeIEuler(f,a,b,y0,h)n=(b-a)/h;x=a:h:b;y(1)=y0;fori=1:nk1=h*feval(f,x(i),y(i));k2=h*feval(f,x(i+1),y(i)+k1);y(i+1)=y(i)+0.5*(k1+k2);end3.一类应用广泛的高精度的显式单步法-----龙格-库塔(Runge-Kutta)方法,简称R-K方法标准四阶四段龙格-库塔公式算法(标准四阶四段龙格-库塔方法)(1)给定整数N;(2);(3)(4)对k=2,3,…N+1做:(5)返回基于标准四阶四段龙格-库塔方法Matlab程序如下

3、:function[x,y]=oderk4(f,a,b,h,y0)n=(b-a)/h;x=a:h:b;y(1)=y0;fori=1:n;k1=h*feval(f,x(i),y(i));k2=h*feval(f,x(i)+h/2,y(i)+k1/2);k3=h*feval(f,x(i)+h/2,y(i)+k2/2);k4=h*feval(f,x(i)+h,y(i)+k3);y(i+1)=y(i)+1/6*(k1+2*k2+2*k3+k4);end其中:f为常微分方程的右端项,a,求解区间的左右端点,h为自变量的步长,y0微分方程的初值,x,y分别为计算完成

4、时的自变量取值和对应点上的函数值。4.标准四阶四段龙格-库塔方法应用实例functionz=f(x,y)z=y-2x/y;function[x,y]=oderk4(f,a,b,h,y0)n=(b-a)/h;x=a:h:b;y(1)=y0;fori=1:n;k1=h*feval(f,x(i),y(i));k2=h*feval(f,x(i)+h/2,y(i)+k1/2);k3=h*feval(f,x(i)+h/2,y(i)+k2/2);k4=h*feval(f,x(i)+h,y(i)+k3);y(i+1)=y(i)+1/6*(k1+2*k2+2*k3+k4)

5、;end运行结果:>>[x,y]=oderk4(‘f’,0,1,0.1,1)x=Columns1through900.10000.20000.30000.40000.50000.60000.70000.8000Columns10through110.90001.0000y=Columns1through91.00001.09541.18321.26491.34161.41421.48321.54921.6125Columns10through111.67331.7321

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。