ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:231.52KB ,
资源ID:17223270      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17223270.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完美升级版基于matlab的数值计算中的优化技术毕业论文设计Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完美升级版基于matlab的数值计算中的优化技术毕业论文设计Word文档格式.docx

1、2.1 数值求积公式的构造 22.1.1求积公式的推导 22.1.2几个低次牛顿-科特斯求积公式 42.2 复化求积公式 62.2.1复化梯形求积公式 62.2.2复化辛浦生求积公式 62.2.3复化科特斯求积公式 72.3 高精度数值积分算法 72.3.1 龙贝格求积公式 8第三章 线性方程组的求解 103.1线性方程组的介绍 103.2 线性方程组的迭代法 113.2.1 Jacobi迭代法 113.2.2 Gauss-Seidel迭代法 123.2.3 SOR迭代法 13第四章 各种求积公式的MATLAB编程实现与应用 144.1 对数值积分运行结果及其分析 144.1.1 数值积分运行

2、结果 144.1.1 数值积分运行结果分析 154.1 线性方程组运行结果及其分析 154.2.1 线性方程组运行结果 154.2.2 线性方程组运行结果分析 16附录 17参考文献 23致 谢 24第一章 前言数值计算是有效使用数字计算机求数学问题近似解的方法与过程,以及由相关理论构成的学科。数值计算主要研究如何利用计算机更好的解决各种数学问题,包括连续系统离散化和离散形方程的求解,并考虑误差、收敛性和稳定性等问题。从数学类型分,数值运算的研究领域包括数值逼近、数值微分和数值积分、数值代数、最优化方法、常微分方程数值解法、积分方程数值解法、偏微分方程数值解法、计算几何、计算概率统计等。随着计

3、算机的广泛应用和发展,许多计算领域的问题,如计算物理、计算力学、计算化学、计算经济学等都可归结为数值计算问题。一个算法除了正确外,还要空间能存贮程序数据,且运行时间短,因而算法 优化技术就很重要,一个程序无法存贮到计算机内存中,或运行时慢得无法等候是没有任何实际意义的。 在研究基于matlab在数值计算中的优化技术有很多方面求数值积分就是具有代表性的一点。求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的牛顿-莱布尼兹公式计算定积分的机会是不多的。另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积

4、分方法求解。由于以上原因,数值积分的理论与方法一直是计算数学研究的基本课题。通过这个课题的研究,我们将会更好地掌握运用数值积分算法求特殊积分函数的定积分的一些基本方法、理论基础;并且通过matlab软件编程的实现,得出计算数值积分的最优化的方法,并应用于实际生活中。第二章 数值积分的计算2.1 数值求积公式的构造人们根据积分的定义得出Newton-Leibniz求定积分的公式,但是这些公式并不是能求出所有式子的积分,而是针对许多特殊的例子,但是有许多都是球不出来的,如:,等。所以采用积分的几何意义来设计出积分公式从而求出近似值。2.1.1求积公式的推导建立数值积分公式的途径比较多,其中最常用的

5、优两种:(1)对于连续函数,优积分中值定理: 其中是被积函数在积分区间上的平均值。因此,如果能给出求平均值的一种近似方法,相应地就可以得到计算定积分的一种数值方法。(2)先用某种简单函数近似逼近,然后在区间的积分值近似表示在区间上的定积分,即取一般情况下,我们可以取为前面介绍的插值多项式或拟合多项式进行近似计算。若取为插值多项式,则相应得到的数字微分公式就是插值型求积公式把区间等分,其分点为、,过这个节点,可以构造一个次插值多项式:其中,用代替被积分函数则有其中。上式叫做牛顿-科茨公式,使用牛顿-科茨公式关键是计算系数,用变量替换,于是而 这样 记 则 这时是不依赖于函数和区间的常数,可以事先

6、计算出来,叫做牛顿-科茨系数。表2.1牛顿-科茨系数2.1.2几个低次牛顿-科特斯求积公式1、梯形求积公式定义2.1 在牛顿-科特斯求积公式中,如果取,用一次多项式代替被积函数,即用梯形面积代替曲边梯形的面积,则有其中, ,查表可得代入上式得出称式为梯形求积公式根据牛顿-科特斯求积公式的误差理论,梯形求积公式的误差估计为是被积函数二阶导数在点的取值, 2、辛浦生求积公式定义2.2在牛顿-科特斯求积公式中,如果取,用二次多项式代替被积函数,即曲边用抛物线代替,则有其中, ,代入上式得出称式为辛浦生求积公式,也称抛物线求积公式。辛浦生求积公式的误差估计式3、科特斯求积公式定义 2.4 在牛顿-科特

7、斯求积公式中,如果取时,牛顿科特斯公式为称式为科特斯求积公式。同理可求得其误差估计式2.2 复化求积公式2.2.1复化梯形求积公式在上一节求积分的过程只是求粗约的近似值,所以应根据积分的可加性,可以将区间分为许多部分使得积分值更加接近精确值,从而优化了梯形积分公式,辛普生积分公式和科特斯积分公式,这就是复化求积分公式的思想。定义 2.5 将积分区间进行等分,记为,在每个小区间上用梯形公式求和,得若将所得的近似值记为,整理得称式为复化梯形公式。记为 复化梯形公式的截断误差2.2.2复化辛浦生求积公式在辛普生积分公式上加以复化可以得到复化辛普生积分公式。定义2.6 分成等分,分点为, 在每个小区间

8、上。用Simpson公式求积分,得到式就称为复化辛浦生求积公式。如果, 则由Simpson插值余项公式可得复化公式的截断误差为2.2.3复化科特斯求积公式定义2.7 将积分区间等分为个子区间,每个子区间的中点,子区间长度, 在每个子区间上用科特斯公式求和,得 式就称为复化科特斯求积公式,式中 , 类似地可以推出复化科特斯公式的截断误差为2.3 高精度数值积分算法求积分时,复化积分公式采用逐步分段法,是一种比较有效的方法,但是它也存在许多的弊端,它收敛于积分真值的速度缓慢,从而人们在复化求积分公式上进行改进。在求积分时步长的大小 也会影响到积分的效果,步长太长积分值就不会太精确,步长太短则会增加

9、许多的运算量。运算的时间也会随之增加。在计算器中编程计算结果要花费大量的时间。以下采用变步长的计算方法,从而避免了这一点。2.3.1 龙贝格求积公式梯形法的算法简单,单精度低,收敛的速度缓慢。由此引出了龙贝格公式。由梯形的递推法可以看出,将积分区间等分时,用复化梯形公式计算的结果作为积分的近似值,其误差近似值为。可以设想,如果用这个误差作为的一种补偿,即将作为积分的近似值,可望提高其精确度。直接根据复化求积公式,不难验证这说明,将区间对分前后两次复化梯形公式的值,作线性组合恰好等于复化辛浦生公式的值,它比更接近于近似值。同样,用于作线性组合会得到比更精确的值,且通过直接验证可得用与作线性组合,

10、又可得到比更精确的值,通常记为,即式就称为龙贝格求积公式。上述用若干个积分近似值推算出更为精确的积分近似值的方法,称为外推方法。我们将序列,和分别称为梯形序列、辛浦生序列、科特斯序列和龙贝格序列。由龙贝格序列当然还可以继续进行外推,得到新的求积序列。在积分区间逐次分半的过程中,利用外推法算式将粗糙近似值逐步加工成越来越精确的近似值。也就是说,将收敛速度缓慢的梯形序列逐步加工成收敛速度越来越快的序列。根据这种原理设计的计算积分近似值的方法称为龙贝格积分方法,又称为数值积分逐次分半加速收敛法。利用龙贝格序列求积的算法称为龙贝格算法。这种算法具有占用内存少、精确度高的优点。因此,成为实际中常用的求积

11、方法。在优化技术方面的考虑龙贝格方法比较合适的选择,在第四章会用程序进行讨论说明。第三章 线性方程组的求解上一章讲述了有关于优化技术在数值积分计算方法的应用,为了更加体现优化技术的应用本章将会讨论优化技术在线性方程组中的应用。实际中,存在大量的解线性方程组的问题。很多数值方法到最后也会涉及到线性方程组的求解问题:如样条插值的M和m关系式,曲线拟合的法方程,方程组的Newton迭代等问题。求解线性方程组有很多的方法,如gauss消去法,按比例主元消去法,用Cholesky分解解线性方程组,平方根法和追赶法等等。3.1线性方程组的介绍一般地设阶线性方程组为表示成矩阵形式, , 为系数矩阵高斯消元法

12、是按照消元和回代两个过程。高斯消元法的改进为高斯主元消元法,并且主元消元法主要有列主元,按比例主元和全主元。高斯消元法的基本思想:首先将A化为上三角阵,再回代求解 得第二步 得 类似下去我们有 第步 n1步以后,我们可以得到变换后的矩阵为:从此再回代可以 解出线性方程组的解。但是高斯解线性方程组一般都是针对中小型的,一下介绍几种线性方程组的迭代法,从而求解线性方程组的近似解,利用优化技术判断哪个方法最优。3.2 线性方程组的迭代法3.2.1 Jacobi迭代法设阶线性方程组的系数非奇异(nonsigular),且。将方程组改为任取,将各分量代入上式的右边得将代入上式的右边,得以此类推,可得由此

13、可得向量序列。称由迭代式建立的迭代法为Jacobi迭代法。3.2.2 Gauss-Seidel迭代法在Jacobi迭代法中,每次迭代计算时用的是前一次迭代的全部分量。实际上,在计算分量时,最新的分量,已经算出,但没有被利用,而且,如果Jacobi迭代收敛,最新算出的分量一般比的精度更高。因此,可以对Jacobi迭代法加以改进,即在迭代过程中,每个分量计算出来之后,计算一下分量时就利用最新计算出的近似结果,具体地,即用新分量去替换右端的各项中,可得新的迭代公式此式称为Gauss-Seidel迭代法。3.2.3 SOR迭代法为了提高收敛速度,对Gauss-Seidel迭代法进一步用Gauss-Se

14、idel迭代公式计算得到第个近似解将前一步迭代值与Gauss-Seidel迭代值做加权平均,即 , 其中是参数,整理得此式称为松弛迭代法,其中参数为松弛因子当时,式称为超松弛法;当时,式称为低松弛法;当时,式就是Gauss-Seidel。一般称这些方法为SOR方法。第四章 各种求积公式的MATLAB编程实现与应用4.1 对数值积分运行结果及其分析 不同的方法计算出来的积分求值的结果不同,所以一下针对进行求解,运用不同的方法得到近似值,余项以及运行程序所需要的时间,在精度不同的情况下,再进行分析判断出哪个方法最优。4.1.1 数值积分运行结果表精度为的积分公式运行结果方法近似值时间梯形求积公式1

15、辛普生求积公式科特斯求积公式复化梯形求积公式8复化辛普生求积公式2复化科特斯求积公式龙贝格积分公式0.00267041632644.1.1 数值积分运行结果分析出梯形积分公式和辛普生积分公式运行的结果都差不多,但是科特斯公式运行的结果较为准确,但是运行的时间相比科特斯积分公式的时间比较长。相同的精度但是科特斯所分割的节点少。这是因为梯形公式、辛普生公式是低精度公式,但对被积函数的光滑性要求不高,他对对被积分光滑性较差的积分很有效。特别是梯形积分公式对被积分函数式周期函数积分时,效果更加突出。高阶科特斯求积分公式稳定性差,收敛较慢。从而,为了提高收敛速度建立的复化梯形积分公式,复化辛普生积分公式

16、。但是相比之下,龙贝格积分公式是算法简单,是一个很好的加速方法。从优化技术的角度看,一般都是选择龙贝格积分方法。4.1 线性方程组运行结果及其分析4.2.1 线性方程组运行结果线性方程组表方程组进行运行结果迭代方法次数精确解近似解Jacobi迭代法7Gauss-Seide迭代法5SOR方法4.2.2 线性方程组运行结果分析从运算的结果分析SOR运行的结果与精确值相比较为准确,而且迭代的次数少。在日常生活中,迭代法常用的优Jacobi迭代法,Gauss-Seidel迭代法,SOR方法中Jacobi迭代法简单,并具有很好的串行算法,很适合并行计算,但收敛速度较慢。Gauss-Seidel迭代法是典

17、型的串行算法,在Jacobi迭代法与Gauss-Seidel迭代法同时收敛的条件下,后者比前者收敛的快,但两种迭代收敛收敛域互不相容,不能互相替代。SOR方法是一种应用极为广泛的方法,但选取最佳松弛因子比较困难,常通过试算来确定最佳松弛因子。各种方法都有其利弊,但是在计算方程组时要求精确度很高时往往选用SOR方法。附录1、复化梯形积分公式的源程序function out1,out2,out3=fhtx(a,b,f) format long; clc; if nargin=3 wc=0.5*10(-6); end% 控制输入参数结束 disp(fhtx tic; n=1; s1=(subs(f,

18、x,a)+4*subs(f,(a+b)/2)+subs(f,b)*(b-a)/n/6; n=2; s2=s1+1; while abs(s2-s1)wc s1=s2; n=n*2; s=0; h=(b-a)/n; for i=1:n s=s+4*subs(f,a+(i-1/2)*(h); end;n-1 s=s+2*subs(f,a+i*h); s=(subs(f,a)+subs(f,b)+s)*h/6; s2=s; time=toc; jsz=s; % 控制输出参数结束 if nargout=1 out1=jsz; if nargout=2 out2=n; if nargout=3 out3

19、=time;2、复化辛普生源程序function out1,out2,out3=xps(a,b,f)%此处填复化辛普生公式s1=(subs(f,s2=s1+1; jsz=s2; % 控制输出参数开始 end 3、复化牛顿科特斯源程序function jsz,n,time=kts(a,b,f) fd=zeros(1,5); wc=0.5*10(-3);%此处填复化科特斯公式 wqja=a;wqjb=b; fd(i)=wqja+(i-1)*(wqjb-wqja)/4; s1=(7*subs(f,fd(1)+32*subs(f,fd(2)+12*subs(f,fd(3)+32*subs(f,fd(4)+7*subs(f,fd(5)*(wqjb-wqja)/90; h1=(b-a)/n; s2=0; wqja=a+(i-1)*h1;wqjb=a+i*h1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1