




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数值计算方法课程设计非线性方程(组)的解法问题的提出分析比较Newton法、Newton法的变形格式。然后分别用Newton 法、简化Newton 法、选取不同的初值求解下面方程组,对于相同的精度要求,比较这两种方法的运行时间。背景分析牛顿法是一种重要迭代法,他是逐步线性化方法的典型代表,牛顿法的特点是每一步都需要计算以及,其计算量比较大,为了减少计算量,提出简化牛顿法。算法思想1、牛顿法设有非线性方程组 其中 由偏导数作成的矩阵记为,称为的雅克比矩阵 设为的解,且设为的近似解。现利用多元函数在点的泰勒公式有其中,在与的所连的线段内。如果用上式中的线性函数近似替代,并将线性方程组 .(1)的解作为的第次近似解记为将(1)式写成矩阵形式,即 为非奇异矩阵,则牛顿迭代公式: (2 )求解非线性方程组牛顿方法为2、简化牛顿法在牛顿法的基础上,为了减少计算量,将均取为,得如下简化牛顿公式: (3 )其中(2)(3)式均为线性收敛的。算法设计将一个非线性方程组写成向量的形式有: F(x) = 0 牛顿迭代法的公式就是: x(k+1)=x(k)-F(x(k)-1F(x(k) 其中F(x(k)为Jacobi矩阵,我写的这段程序就是根据这个公式来的。运用MATLAB中的jacobian求出F的雅克比矩阵,用inv求逆matrix=(varargin)varargin:构造迭代函数在比较牛顿法和简化牛顿法运行时间方面,我们主要是通过比较迭代次数。程序清单牛顿法源程序:function x=newton_solve(F,v,x0,e) if (ischar(F) | ischar(v) %定义类型 error(Parameter F and v should be char type!); end if (isnumeric(x0) | isnumeric(e) error(Parameter x0 and e should be numeric type!); end F=sym(F);v=sym(v);dF=jacobian(F,v);tF=inv(dF)*Ffor index=1:numel(v) tF=subs(tF,v(index),x( num2str(index) ); %把x分量化,把x1变成x(1),把x2变成x(2)end matrix=(varargin)varargin:.; %构造迭代函数phi=x- char(tF); eval(phi=(x) phi ;); err=inf; %无穷大xold=phi(x0); n=0; while erre xnew=phi(xold); %用本次结果与上次结果差的范数来衡量误差 err=norm(xnew-xold); xold=xnew; n=n+1; %迭代次数大于10000是退出循环 if (n10000) break; end n%迭代次数end x=xold;简化牛顿法的源程序:function x=simnewton_solve (F,v,x0,e) if (ischar(F) | ischar(v) %定义类型 error(Parameter F and v should be char type!); end if (isnumeric(x0) | isnumeric(e) error(Parameter x0 and e should be numeric type!); end F=sym(F);v=sym(v);dF=jacobian(F,v);tF=inv(dF)% dF的逆矩阵tF11= -x0(2)/(-x0(2)+4*x0(1);tF12=1/(-x0(2)+4*x0(1);tF21= 2*x0(1)/(-x0(2)+4*x0(1);tF22=-1/2/(-x0(2)+4*x0(1);tF=tF11,tF12;tF21, tF22 % 把dF的逆矩阵用初始值x0代入,得到一常数矩阵,(简化牛顿法的思想)tF=tF*F;for index=1:numel(v) tF=subs(tF,v(index),x( num2str(index) ); %把x分量化,把x1变成x(1),把x2变成x(2)end matrix=(varargin)varargin:.; %构造迭代函数phi=x- char(tF); eval(phi=(x) phi ;); err=inf; %无穷大xold=phi(x0); n=0; while erre xnew=phi(xold); %用本次结果与上次结果差的范数来衡量误差 err=norm(xnew-xold); xold=xnew; n=n+1; %迭代次数大于10000是退出循环 if (n10000) break; end n%迭代次数end x=xold;运行结果分析newton_solve(x1+2*x2-3;2*x12+x22-5,x1;x2,1.5;1,0.0001)n = 2ans = 1.4880 0.7560simnewton_solve(x1+2*x2-3;2*x12+x22-5,x1;x2,1.5;1,0.0001) n = 3ans = 1.48800.7560newton_solve(x1+2*x2-3;2*x12+x22-5,x1;x2,100;56,0.0001)n = 10ans = 1.48800.7560simnewton_solve(x1+2*x2-3;2*x12+x22-5,x1;x2,100;56,0.0001)n = 388ans =1.49380.7531上面的结果是牛顿法和简化牛顿法同精度同初值的解法以及不同初值同精度得出来的,我们利用迭代次数来比较它们运行的快慢(即运行的时间),我们本题的初值和精度可以任意取值,从而得出迭代次数以及结果。从结果可以看出,简化牛顿法相比起牛顿法迭代次数要多一些,而且简化牛顿法的值误差较大,因此用牛顿法解非线性方程组要比简化牛顿法要好。问题分析在我们参考了MATLAB相关书籍之后,通过在网上的查阅,基本编写出牛顿法解非线性方程组的程序,在这个程序的基础上我们来改进用以实现简化牛顿法解非线性方程组,我们主要遇到的是要怎么使它可以在程序中赋初值之后直接生成,最后这个没有解决,所以我们选择了赋初值后,直接把求出来,再把的值作为常量带入程序中求解。总结本次的程序设计,我们用MATLAB编写了牛顿法解非线性方程以及简化的牛顿法解非线性方程的程序。牛顿法是通过牛顿迭代法的公式:x(k+1)=x(k)-F(x(k)-1F(x(k) ,带入初值及给定精度的范围,得出方程组的解。简化牛顿法,实在牛顿法的基础上,把雅可比矩阵的逆的初始矩阵算出来,再通过迭代的出的解。我们选取了不同的初值解非线性方程组。并且对于同初值同精度问题,分别用牛顿法和简化的牛顿法解得简化的牛顿法迭代的次数更多。说明简化的牛顿法迭代精度更低而且求的的解误差较大。这与理论是相符合的。牛顿法和简化牛顿法都有优点也有缺点,我们在解决问题的时候,要结合自己的实力和自己所需的选择恰当的方法。我们从不懂到懂得这个过程让我们收获很多,通过不断地学习,查阅资料以及修改程序,一个从无到有的积累,我们不仅仅是在做题,也是在学习处理任何问题的方法。遇到困难不要轻易放弃,要善于利用和整合资源,这都是生活必不可少的。心得体会数值计算方法是一门应用范围很广的课程,是信息与计算科学专业的一门主要专业基础课程,通过这次实验上机才知道原来我们可以运用MATLAB和C语言以及其他的相关汇编语言来编辑程序解决数值计算方法里面很多问题。在学习了理论知识之后,如何去具体的处理数学中的问题,如何把我们的理论运用到实践中去,这样的课程设计为我们提供了这样一个实践平台。通过这次实验,我收获颇多。首先是对MATLAB软件的认识有了进一步的提升。它简单易学、计算功能强等。MATLAB具有强大的矩阵运算、数据处理的功能,它输出的结果可视化。编程效率高,比C语言简单,让我们比较容易接受,所以我们在解决这道题的时候选择了使用matlab这种高级编程语言。我们也通过这次上机实验对数值计算方法有了更进一步的巩固。其次,通过这次上机实验,我对牛顿法有了更深一层的理解。牛顿法是一种重要迭代法,他是逐步线性化方法的典型代表。为了减少计算量,牛顿法还衍生出许多的变格形式,比如下降牛顿法、阻尼牛顿法、简化牛顿法、修正牛顿法、拟牛顿法等等,这里我们主要是用了牛顿法和简化牛顿法来解非线性方程组,并对这两种方法做了一个比较,通过精度的分析,迭代次数的比较得出牛顿法迭代次数比较少,但计算量大;简化的牛顿法迭代次数多但计算量相对较少。所以是各有所长,都能解决我们的问题。通过这次实验让我了解到合作的重要性,在处理问题的时候,当自己冥思苦想也想不出来解决方案的时候,不妨选择请教老
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国棉锦横条布数据监测研究报告
- 2025至2030年中国桔黄色釉料数据监测研究报告
- 2025至2030年中国树脂雕塑工艺品市场调查研究报告
- 2025至2030年中国果菜榨汁机电机市场分析及竞争策略研究报告
- 2025至2030年中国条纹锦棉布市场分析及竞争策略研究报告
- 2025至2030年中国机械刀片模具市场分析及竞争策略研究报告001
- 2025至2030年中国木纹快劳市场现状分析及前景预测报告
- 用联想宫殿提升记忆力
- 2025至2030年中国曹雪芹干红葡萄酒市场现状分析及前景预测报告
- 2025至2030年中国智能型高纯度气体质量流量计行业投资前景及策略咨询报告
- 网络零售行业分析
- 冷库维护保养合同范本
- 餐厅前厅管理制度及岗位职责 后厨操作管理制度
- 2025念珠菌病诊断和管理全球指南解读课件
- BDAccuriC6Plus基础操作流程
- 《冯谖客孟尝君》
- 14S501-1 球墨铸铁单层井盖及踏步施工
- 供应商本项目管理、技术、服务人员情况表
- 人情往来表(自动计算)
- 毕业设计(论文)基于AT89C51单片机的智能IC卡煤气表控制装置设计
- 电厂机组移交生产交接书
评论
0/150
提交评论