欢迎来到天天文库
浏览记录
ID:15658332
大小:66.00 KB
页数:7页
时间:2018-08-04
《实验报告——常微分方程的数值解法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告实验项目名称常微分方程的数值解法实 验 室 数学实验室 所属课程名称微分方程数值解实验类型上机实验实验日期2013年3月11日班级10信息与计算科学学号2010119421姓名叶达伟成绩实验概述:【实验目的及要求】运用不同的数值解法来求解具体问题,并通过具体实例来分析比较各种常微分方程的数值解法的精度,为以后求解一般的常微分方程起到借鉴意义。【实验原理】各种常微分方程的数值解法的原理,包括Euler法,改进Euler法,梯形法,Runge-Kutta方法,线性多步方法等。【实验环境】(使用的软硬件)Matlab软件实验内容:【实验方案设计】我
2、们分别运用Euler法,改进Euler法,RK方法和Adams隐式方法对同一问题进行求解,将数值解和解析解画在同一图像中,比较数值解的精度大小,得出结论。【实验过程】(实验步骤、记录、数据、分析)我们首先来回顾一下原题:对于给定初值问题:1.求出其解析解并用Matlab画出其图形;2.采用Euler法取步长为0.5和0.25数值求解(2.16),并将结果画在同一幅图中,比较两者精度;3.采用改进Euler法求解(2.16),步长取为0.5;4.采用四级Runge-Kutta法求解(2.16),步长取为0.5;5.采用Adams四阶隐格式计算(2.16)
3、,初值可由四级Runge-Kutta格式确定。下面,我们分五个步骤来完成这个问题:步骤一,求出(2.16)式的解析解并用Matlab画出其图形;,用Matlab做出函数在上的图像,见下图:图一初值问题的解析解的图像步骤二,采用Euler法取步长为0.5和0.25数值求解(2.16),并将结果画在同一幅图中,比较两者精度;我们采用Euler法取步长为0.5和0.25数值求解,并且将数值解与解析解在一个图中呈现,见下图:图二Euler方法的计算结果与解析解的比较从图像中不难看出,采用Euler法取步长为0.5和0.25数值求解的误差不尽相同,也就是两种方法
4、的计算精度不同,不妨将两者的绝对误差作图,可以使两种方法的精度更加直观化,见下图:图三不同步长的Euler法的计算结果与解析解的绝对误差的比较从图像中我们不难看出,步长为0.25的Euler法比步长为0.5的Euler法的精度更高。步骤三,采用改进Euler法求解(2.16),步长取为0.5;我们采用改进Euler法求解,步长取0.5,数值解如下图:图四改进Euler法的计算结果与解析解的比较步骤四,采用四级Runge-Kutta法求解(2.16),步长取为0.5;我们采用四级Runge-Kutta求解,步长取0.5,数值解如下图:图五四级RK方法的计
5、算结果与解析解的比较步骤五,采用Adams四阶隐格式计算(2.16),初值可由四级Runge-Kutta格式确定。我们采用Adams四阶隐格式计算公式求解,数值解如下图:图六Adams四阶隐格式的计算结果与解析解的比较由于采用Adams四阶隐格式计算出来的数值解在时的量级为在时的量级为,因此,在Matlab图像处理中,将纵坐标的量级定为(不然,若纵坐标量级取大一些,解析解与水平轴几乎重合。)为了将Adams四阶隐格式计算出来的数值解全部呈现出来,又作了一张只有该数值解的图像,详见下图:图七Adams四阶隐格式的计算结果最后,我们总结一下各种方法计算出来
6、的数值解与解析解之间的绝对误差,详见下表:Euler法改进Euler法四级RK方法四阶Adams隐格式方法0.00.51.01.52.02.53.03.54.04.55.0表一步长为0.5时各种数值解法的计算结果与解析解之间的绝对误差由于本题中步长h取为取值0.5,步长取值较大,计算结果与精确解之间的误差较大,难以判断各种数值方法的计算精度。因此,我在本题的基础上进行了拓展,将步长取为0.05,进一步研究各种方法的计算精度。从先前的例子中可以看出,误差主要是在t取值接近5的时候出现,所以在步长h=0.05时重点研究的计算结果与解析解之间的绝对误差,以比
7、较各种方法的计算精度。绝对误差情况详见下表:Euler法改进Euler法四级RK方法四阶Adams隐格式方法4.504.554.604.654.704.754.804.854.904.955.00表二步长为0.05时各种数值解法的计算结果与解析解之间的绝对误差通过步长的减小,我们得出了更加精确的数值解,同时也可以比较各种算法的精度大小。不难发现,对于这个问题,四级RK方法的计算精度最大,其次是四阶Adams隐格式方法和改进Euler法,精度最差的是Euler法。(这不代表哪种方法最优,因为我们只计算了一个实例)【结论】(结果)通过一个具体实例,我们比较
8、了各种数值计算方法的精度大小,对于这个问题,四级RK方法的计算精度最大,其次是四阶Adams隐
此文档下载收益归作者所有