2022年常微分方程数值解法课程设计分析方案.docx
《2022年常微分方程数值解法课程设计分析方案.docx》由会员分享,可在线阅读,更多相关《2022年常微分方程数值解法课程设计分析方案.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数值分析课程设计 题目:常微分方程的数值解法组员:邓全飞 202120320215许曦202120320218熊鲁平 202120320213余佳明 202120320216专业:信息与运算科学指导老师:刘唐伟16 / 14一、摘要 3二、设计目的 3三、理论基础 31. 欧拉公式【 3】 32. 改进 Euler方法【 3】33. 三阶龙格 - 库塔方法【 3】34. 四阶龙格 - 库塔方法【 3】4四、程序代码及运算结果 41、用欧拉法求解52、用改进欧拉法求解:63、用 3 阶龙格库塔求解74、用 4 阶龙格库塔求解96、欧拉方法与改进欧拉方法、3 阶龙格库塔法以及4 阶龙格库塔法得出的
2、解得比较;10五、数值分析设计的 GUI界面 13六、结果分析 14七、设计心得 14八、参考文献 14一、摘要在 matlab环境下熟识的运用运算机编程语言并结合龙格库塔法的理论基础对常微分方程初值问题进行求解,在运行完程序后以及对运行结果做出各 方面的分析和比较;二、设计目的用熟识的运算机语言编程上机完成用欧拉方法、改进欧拉方法、3 阶龙格库塔法以及 4 阶龙格库塔法求解常微分方程初值问题;三、理论基础1. 欧拉公式 【3】在点将作 Taylor 绽开,得,那么当 h 充分小时,略去误差项, 用近似替代、近似替 代, 并留意到,便得上述方法称为 Euler 方法;2. 改进 Euler 方
3、法【3 】在应用梯形方法的迭代公式进行运算时,每迭代一次都要重新运算函数 的值,且仍要判定何时可以终止或转下一步运算;为了掌握运算量和简化算法,通常只迭代一次就转入下一步运算;详细说,我们先用Euler公式求得一个初步的近似值,称之为猜测值,然后用梯形方法的迭代公式作一次迭代得,即将校正一次,这样建立的猜测- 校正方法称之为改进的Euler 方法:猜测:,校正:.3. 三阶龙格 - 库塔方法 【3 】类似前面改进的 Euler方法公式的推导方法,将在处作 Taylor 绽开,然后再将在处作 Taylor绽开,只要将两个绽开式前四项相同便有;于是得到三阶龙格 - 库塔公式为:4. 四阶龙格 -
4、库塔方法 【3】类似前面三阶龙格 - 库塔的推导方法,假如每步运算四次函数f x=x_span1:h:x_span2;y1=y0 ;for n=1:lengthx-1yn+1=yn+h*fevalfun,xn,yn;endx=x ;y=y ;在 MATLAB输入以下程序: clear all fun=inline y2*x ; x,y=cwfa1fun,0,1,-2,0.1; x,y plotx,y,r+- ans =0-2.00000.1000-2.00000.2000-1.96000.3000-1.88320.4000-1.77680.5000-1.65050.6000-1.51430.7
5、000-1.37670.8000-1.24400.9000-1.12021.0000-1.0073结果及其图象:图 1 欧拉法解2、用改进欧拉法求解: 程序如下:建立函数文件 cwfa2.mfunction x,y=cwfa2fun,x_span,y0,h x=x_span1:h:x_span2;y1=y0 ;for n=1:lengthx-1k1=fevalfun,xn,yn;yn+1=yn+h*k1;k2=fevalfun,xn+1,yn+1;yn+1=yn+h*k1+k2/2;endx=x ;y=y ;在 MATLAB输入以下程序: clear all fun=inline y2*x;
6、x,y=cwfa2fun,0,1,-2,0.1; x,y plotx,y,r+- ans =0-2.00000.1000-1.98000.2000-1.92270.3000-1.83450.4000-1.72390.5000-1.60010.6000-1.47110.7000-1.34320.8000-1.22080.9000-1.10661.0000-1.0018结果及其图像:图 3 改进欧拉解3、用 3 阶龙格库塔求解程序如下:建立函数文件 cwfa4.mfunction x,y=cwfa4fun,x_span,y0,h x=x_span1:h:x_span2;y1=y0 ;for n=1
7、:lengthx-1k1=fevalfun,xn,yn;k2=fevalfun,xn+h/2,yn+h/2*k1;k3=fevalfun,xn+h,yn+h*2*k2-k1;yn+1=yn+h*k1+4*k2+k3/6;endx=x ;y=y ;在 Matlab 输入以下程序:clear all;fun=inline y2*x;x,y=cwfa4fun,0,1,-2 ,0.1;x,yplotx,y, b*- ans =0-2.00000.1000-1.98030.2000-1.92320.3000-1.83500.4000-1.72430.5000-1.60020.6000-1.47070.7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 微分方程 数值 解法 课程设计 分析 方案
限制150内