常微分方程数值解法课程设计报告

常微分方程数值解法课程设计报告

ID:9606584

大小:680.50 KB

页数:14页

时间:2018-05-03

常微分方程数值解法课程设计报告_第1页
常微分方程数值解法课程设计报告_第2页
常微分方程数值解法课程设计报告_第3页
常微分方程数值解法课程设计报告_第4页
常微分方程数值解法课程设计报告_第5页
资源描述:

《常微分方程数值解法课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数值分析课程设计题目:常微分方程的数值解法组员:邓全飞5许曦8熊鲁平3余佳明6专业:信息与计算科学指导老师:刘唐伟一、摘要3二、设计目的3三、理论基础31.欧拉公式【3】32.改进Euler方法【3】33.三阶龙格-库塔方法【3】34.四阶龙格-库塔方法【3】4四、程序代码及运算结果41、用欧拉法求解52、用改进欧拉法求解:63、用3阶龙格—库塔求解74、用4阶龙格—库塔求解96、欧拉方法与改进欧拉方法、3阶龙格-库塔法以及4阶龙格-库塔法得出的解得比较。10五、数值分析设计的GUI界面13六、结果分析14七、设计心得14八、参考文献14一、摘要在matlab环境

2、下熟悉的运用计算机编程语言并结合龙格-库塔法的理论基础对常微分方程初值问题进行求解,在运行完程序后以及对运行结果做出各方面的分析和比较。二、设计目的用熟悉的计算机语言编程上机完成用欧拉方法、改进欧拉方法、3阶龙格-库塔法以及4阶龙格-库塔法求解常微分方程初值问题。三、理论基础1.欧拉公式【3】在点将作Taylor展开,得,那么当h充分小时,略去误差项,用近似替代、近似替代,并注意到,便得上述方法称为Euler方法。2.改进Euler方法【3】在应用梯形方法的迭代公式进行运算时,每迭代一次都要重新计算函数的值,且还要判断何时可以终止或转下一步计算。为了控制计算量和简

3、化算法,通常只迭代一次就转入下一步计算。具体说,我们先用Euler公式求得一个初步的近似值,称之为预测值,然后用梯形方法的迭代公式作一次迭代得,即将校正一次,这样建立的预测-校正方法称之为改进的Euler方法:预测:,校正:.3.三阶龙格-库塔方法【3】类似前面改进的Euler方法公式的推导方法,将在处作Taylor展开,然后再将在处作Taylor展开,只要将两个展开式前四项相同便有。于是得到三阶龙格-库塔公式为:4.四阶龙格-库塔方法【3】类似前面三阶龙格-库塔的推导方法,如果每步计算四次函数f(x,y)的值,完全类似的,可以导出局部截断误差为的四阶龙格-库塔公

4、式,其公式为:四、程序代码及运算结果用欧拉方法、改进欧拉方法、3阶龙格-库塔法以及4阶龙格-库塔法求解常微分方程初值问题:精确解为:y0=[-2.0000-1.9802-1.9231-1.8349-1.7241-1.6000-1.4706-1.3423-1.2195-1.1050-1.0000]精确解图形1、用欧拉法求解程序如下:建立函数文件cwfa1.mfunction[x,y]=cwfa1(fun,x_span,y0,h)x=x_span(1):h:x_span(2);y(1)=y0;forn=1:length(x)-1y(n+1)=y(n)+h*feval(

5、fun,x(n),y(n));endx=x';y=y';在MATLAB输入以下程序:>>clearall>>fun=inline('y^2*x');>>[x,y]=cwfa1(fun,[0,1],-2,0.1);>>[x,y]>>plot(x,y,'r+-')ans=0-2.00000.1000-2.00000.2000-1.96000.3000-1.88320.4000-1.77680.5000-1.65050.6000-1.51430.7000-1.37670.8000-1.24400.9000-1.12021.0000-1.0073结果及其图象:图1欧拉法解

6、2、用改进欧拉法求解:程序如下:建立函数文件cwfa2.mfunction[x,y]=cwfa2(fun,x_span,y0,h)x=x_span(1):h:x_span(2);y(1)=y0;forn=1:length(x)-1k1=feval(fun,x(n),y(n));y(n+1)=y(n)+h*k1;k2=feval(fun,x(n+1),y(n+1));y(n+1)=y(n)+h*(k1+k2)/2;endx=x';y=y';在MATLAB输入以下程序:>>clearall>>fun=inline('y^2*x');>>[x,y]=cwfa2(fun,

7、[0,1],-2,0.1);>>[x,y]>>plot(x,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]=cwfa4(fun,x_span,y0,h)x=x_span(1):h:x_span(2);y

8、(1)=y

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

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

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