收藏 分享(赏)

数值积分算法与MATLAB实现陈悦5133201.doc

上传人:精品资料 文档编号:10744441 上传时间:2020-01-04 格式:DOC 页数:11 大小:381KB
下载 相关 举报
数值积分算法与MATLAB实现陈悦5133201.doc_第1页
第1页 / 共11页
数值积分算法与MATLAB实现陈悦5133201.doc_第2页
第2页 / 共11页
数值积分算法与MATLAB实现陈悦5133201.doc_第3页
第3页 / 共11页
数值积分算法与MATLAB实现陈悦5133201.doc_第4页
第4页 / 共11页
数值积分算法与MATLAB实现陈悦5133201.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、东 北 大 学 秦 皇 岛 分 校数 值 计 算 课 程 设 计 报 告数值积分算法及 MATLAB 实现学 院 数 学 与 统 计 学 院专 业 信 息 与 计 算 科 学学 号 5133201姓 名 陈 悦指导教师 姜 玉 山 张 建 波成 绩教师评语:指 导 教 师 签 字 : 2015 年 07 月 14 日数学与统计学院课程设计(实习)报告 第 1 页1 绪论数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值检索方其理论与软件的实现.而数值分析主要研究数值计算.现科学技术的发展与进步提出了越来越多的复杂的数值计算问题,这些问题的圆满解

2、决已远人工手算所能胜任,必须依靠电子计算机快速准确的数据处理能力.这种用计算机处理数值问题的方法,成为科学计算.今天,科学计算的应用范围非常广泛,天气预报、工程设计、流体计算、经济规划和预测以及国防尖端的一些科研项目,如核武器的研制、导弹和火箭的发射等,始终是科学计算最为活跃的领域.1.1 数值积分介绍数值积分是数值分析的重要环节,实际问题当中常常需要计算积分,有些数值方法,如微分方程和积分方程的求解,也都和积分计算相联系.求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的 牛顿-莱布尼兹公式计算定积分的机会是不多的.另外,许多实际问题中的被积函数

3、往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解.由于以上原因,数值积分的理论与方法一直是计算数学研究的基本课题.对微积分学做出杰出贡献的数学大师,如 I.牛顿、L.欧拉、C.F. 高斯、拉格朗日等人都在数值积分这个领域作出了各自的贡献,并奠定了这个分支的理论基础.构造数值积分公式最通常的方法是用积分区间上的 n 次插值多项式代替被积函数,由此导出的求积公式称为插值型求积公式.特别在节点分布等距的情形称为牛顿-科特斯公式,例如梯形公式(Trapezoidal Approximations)与抛物线公式(Approximations Using Parabola

4、s)就是最基本的近似公式.但它们的精度较差.龙贝格算法是在区间逐次分半过程中,对梯形公式的近似值进行加权平均获得准确程度较高的积分近似值的一种方法,它具有公式简练、计算结果准确、使用方便、稳定性好等优点,因此在等距情形宜采用龙贝格求积公式(Rhomberg Integration).当用不等距节点进行计算时,常用高斯型求积公式计算,它在节点数目相同情况下,准确程度较高,稳定性好,而且还可以计算无穷积分.数值积分还是微分方程数值解法的重要依据.许多重要公式都可以用数值积分数学与统计学院课程设计(实习)报告 第 2 页方程导出.现探讨数值积分算法以及运用 MATLAB 软件的具体实现1.2 MAT

5、LAB 软件MATLAB 是美国 MathWorks 公司出品的商业数学软件 ,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB和 Simulink 两大部分.MATLAB 是 matrixs2=0;for k=0:(n-1)x=a+h*k;s1=s1+feval(fun,x);endfor k=0:(n-1)x=a+h*(k+1/2);s2=s2+feval(fun,x);数学与统计学院课程设计(实习)报告 第 5 页ends=h/6*(feval(fun,a)+feval(fun,b)+2*s1+4*s2);3.2 龙贝格公式3.2.1

6、梯形法的递推化将区间 分成 等份,共有 个分点,如果将求积区间再二分一次,则分点,abn1n增至 个,用复合梯形公式求得该子区间上的积分值为21n,将每个子区间上的积分值相加得112()4kkkhfxffx= .nT110 02()()4nkkkkhhfxffx得到递推公式: .1202nkkf3.2.2 龙贝格算法公式当 在 上充分光滑时, 可证用 逼近 的截断误差是:fx,ab1()ThI=1()ITh2a42ka 按理查森外推法:,1()F1()(),1,)mpmFq其中, 为满足 的适当正数 .取序列:q0,2)mp.14,1,2nmhT用 来逼近 的误差为 ,这种算法就是龙贝格算法.

7、1mThI21O3.2.3 龙贝格算法 MATLAB 实现代码如下:function s=longbeige(fun,a,b,tol)if nargintol)数学与统计学院课程设计(实习)报告 第 6 页i=i+1;h=h/2;T(i+1,1)=T(I,1)/2+sum(feval(fun,a+h/2:h:b-h/2)*h/2;for j=1:iT(i+1,j+1)=(4j*T(i+1,j)-T(I,j)/(4j-1);endendTs=T(i+1,j+1);3.3 自适应法自适应积分法是一种比较经济而且快速的求积分的方法.他能自动地在被积函数变化剧烈的区域增多节点,而在被积函数变化平缓的地

8、方减少节点.因此它是一种不均匀区间的积分方法.按照子区间上的积分方式它可以分为自适应辛普森积分法和自适应梯形积分法.通常是采用自适应辛普森积分法作为子区间的积分方式.自适应积分法的基本步骤如下:(1) 将积分区间 分成两个相等的 1 级子区间 和 ,且,ab1,2ah,ah;hba(2) 在上述两个 1 级子区间上用辛普森积分得到积分 和1_,2Iah;1_,2Iah(3) 将子区间 分成两个相等的 2 级子区间 和1,2ah 21,ah;21,ah(4) ;22111_,2_,_,1IaIahIah(5) 比较 和 , 如果| ,Ih,2I _,2Iah- | fun=inline(4./(

9、1+x.2);数学与统计学院课程设计(实习)报告 第 9 页 xinpusen(fun,0,1,10)ans =3.2749259863031184.2 龙贝格算法求解longbeige(inline(4./(1+x.2),0,1,1e-6)T =3.0000 3.1000 3.1333 3.1312 3.1416 3.1421 3.1390 3.1416 3.1416 3.1416 3.1409 3.1416 3.1416 3.1416 3.1416 3.1414 3.1416 3.1416 3.1416 3.1416 3.1416ans =3.1415926536382444.3 高斯算法

10、求解 gaosi(inline(4./(1+x.2),0,1,2,3)ans =3.141591222382834 gaosi(inline(4./(1+x.2),0,1,4,4)ans =3.1415956115587354.4 三种方法比较分析结果显示每一个算法都接近真实值,但龙贝格算法相比较复合辛普森算法,高斯算法来说更加接近.对于代数精度来说,复合辛普森的代数精度为 11,龙贝格代数精度为 11,高斯代数精度为 11.可见代数精度相同时,龙贝格的求积精度最小,所以相同条数学与统计学院课程设计(实习)报告 第 10 页件下龙贝格求积公式最能接近准确值.总结随着数学实验的兴起, 对整个数学

11、课程教学改革起到了积极的推动作用, 我们要熟悉的运用各种数学软件,解决数学运算中繁琐的问题,实现学习的简单,快捷化.同时意识到用MATLAB编程时,要实现代码的层次性,做到有规有矩,那样才能把MATLAB运用自如.这次课程设计,用MATLAB实验对数值积分进行了实现,简介了 5种不同的数值积分的方法,并且实现了其中的3中方法,实现过程中发现了各种方法之间的区别和联系.并且在实验过程中,使自己对数值积分和MATLAB 更加的熟悉.做到了学习和实践相联系.参考文献1 戈慈水.数值分析课程数值积分的 MatLab 实现问题的教学研究M.时代教育出版社,2011.72 张志涌.精通 MATLAB6.5 版M.北京航天航空大学出版社,2003.3.3 陈杰,孙晓君.MATLAB 数学实验M.高等教育出版社,2006.6.4 朱叶志.MATLAB 数值分析与应用M.北京:机械工业出版社,2009.5 王正林.精通 MATLAB 科学计算M.北京:电子工业出版社,2007.6 萧树铁.大学数学实验M.北京:高等教育出版社,1997.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报