Matlab软件实习论文_第1页
Matlab软件实习论文_第2页
Matlab软件实习论文_第3页
Matlab软件实习论文_第4页
Matlab软件实习论文_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、I / 12 文档可自由编辑打印Matlab 软件实习论文非线性方程求根系 别信息与计算科学专 业信息与计算科学学 号姓 名指导教师非线性方程求根II / 12 文档可自由编辑打印摘 要随着科学技术,生产力经济的发展,在科学与工程计算中存在着大量方程求根问题,例如贷款购房问题,工厂的最佳订货问题等都需要求解一类非线性方程的根,而本文就针对这些求根问题提出了解决方案,本文利用牛顿迭代法来结决方程的求根问题首先根据实际问题列出数学模型,确定变量,给出各个条件及相关函数;然后对建立的模型进行具体分析和研究,选择合适的求解方法;编写函数的程序,用计算机求出方程的解,通过所求解分析具体情况关键词:非线性

2、方程,牛顿迭代法,MatlabIII / 12 文档可自由编辑打印目 录摘摘 要要.I1 绪绪 论论.11.1 非线性方程求根的背景.11.2 非线性方程求根的目的:.11.3 非线性方程求根的内容:.12 牛顿迭代法的实现及应用牛顿迭代法的实现及应用.32.1 NEWTON迭代法具体例子的实现.32.2 应用牛顿法解决购房贷款利率问题.42.3 应用牛顿迭代法计算最佳订货量.6结结 论论.8参考文献参考文献.91 / 12 文档可自由编辑打印1 绪 论1.1 非线性方程求根的背景随着社会的进步,科学技术的快速发展,各种工程等也如雨后春笋一般破土而出,对我们的日常生活产生了巨大的影响如天气预报

3、、石油的勘探、地质灾害的预报等牛顿迭代法是牛顿在 17 世纪提出的一种求解方程多数方程不存在求根( )0f x 公式,从而求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要而在各种科学和工程计算中往往要用到非线性方程组的求解,而牛顿法又是最基础的迭代法,在各种计算力学、控制工程等领域中发挥了不可代替的作用而在数值计算中,非线性方程组的求解同样具有重要意义随着计算机技术的成熟和高速发展,对于非线性方程求根问题出现了大量的数学软件(如 MATLAB,Matheamatica,Maple,SAS,SPSSD 等) ,计算机已经成为工程师应用数学解决工程问题的主要运算工具同时,工程专业的

4、学生对数学教育的需求重点正在从手工演绎和运算能力的培养转变到结合计算机软件进行建模、求解和论证能力的培养本文采用 Matlab 作为软件平台,介绍了非线性方程求根的内容11.2 非线性方程求根的目的为了推动科学的进步,能够很简便的完成各种工程计算,非线性方程组的求解方法以其独有的方法解决了各种计算,为今天以及将来的应用打下了坚实的基础非线性方程组的求解正是为了这个目的才广泛被人们应用,此文也将给出非线性方程组求解的实际应用1.3 非线性方程求根的内容解非线性方程的主要算法是迭代法,如 fsolve、二分法、牛顿迭代法( )0f x 等迭代法是从已知的解的初始近似值 (简称初值)开始,利用某种迭

5、代格式0 x ( )xg x求得一近似值序列逐步逼近于所求的解 (称为不动点)这一方121,kkx xxx2 / 12 文档可自由编辑打印法是否成功取决于三个因素,首先应与同解,其次初值的选取是 ( )xg x( )0f x 0 x否合适,一般要与真解靠近,最后也是最关键的是迭代序列是否收敛,为了保证收敛性,在真解附近应有| ( )| 1g x 否则迭代序列可能发散最基本的迭代法是 Newton 迭代法,其迭代格式为.1()()kkkkf xxxfx从几何上说为用在出切线代替求得的解,所以也称为切线法,1kx ( )f x kx ( )f x当初值与真值足够靠近,Newton 迭代法收敛对于单

6、根,Newton 法收敛速度很0 x快;对于重根,收敛较慢牛顿迭代法的大概算法为:给定初始值,为根的容许误差,为的容许误差,为迭代次数的容许0 x( )f xN值. 如果或迭代次数大于,则算法失败,结束;否则执行0()0fxN 计算0100()()f xxxfx 若或,则输出,程序结束;否则执行10 xx1()f x1x 令,转向01xx下面给出了 Newton 迭代法的计算程序function x=newton(fname,dfname,x0,e)%用途:Newton 迭代法解非线性方程 f(x)=0%格式:x=nanewton( fname,dfname,x0,e) x 返回数值解,%fn

7、ame 和 dfname 分别表示 f(x)及其导函数%f(x),x0 为迭代初值,e 精度要求(默认为 1e-4)if nargine3 / 12 文档可自由编辑打印x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);end2 牛顿迭代法的实现及应用2.1 Newton 迭代法具体例子的实现用 Newton 迭代法解方程 在 1.5 附近的根32( ) -3 -30 f xxxx解:当时,即恒正,所以根在0,2.我们先用图解法2x ( )0, ( )0f xfx( )f x找初值,在用 Newton 法程序 newton.m 求解fun= inline(x3

8、+x2-3*x-3);fplot(fun,0,2);grid on;图 2.1 的函数图像 ( )f x由图可知方程有唯一正根在1.6,1.8之间,我们取初值 1.5 代入 Newton 程序中dfun=inline(3*x2+2*x-3);4 / 12 文档可自由编辑打印format long;newton(fun,dfun,1.5,1e-4);format short;ans = 1.732而用 Matlab 本身的函数 fzero 求出来的结果为:format long;fzero(inline(x3+x2-3*x-3),1.5);format shortans = 1.732下面用牛顿

9、迭代法解决一些实际问题2.2 应用牛顿法解决购房贷款利率问题住房是居民消费的一个主要部分,大部分人选择银行按揭贷款,然后在若干年内逐月分期还款如果你借了 10 万,还款额一定超过 10 万设贷款总额为,贷款期限为个月,采取逐月等额方式偿还本息若为第个0 xNkxk月的欠款数,为月还款, 为月利率我们得到些列迭代关系式ar1 (1) - ,kkxr xa那么 1(1)kkxr xa 22(1)(1)krxr aa 210(1)1 (1)(1)krxarr ,0(1)(1)1/kkrxarr由此可以得到月还款计算公式0(1)(1)1NNrxar下面是新民晚报2000 年 3 月 30 日第七版上的

10、一则房产广告:表 2.1 房产广告建筑面积总价30%首付70%按揭月还款85.98 2m36 万10.8 万30 年1436 元5 / 12 文档可自由编辑打印不难算出,你向银行总共借了 25.2 万,30 年内共要还 51.96 万,约为当初借款的两倍这个案例中的贷款年利率是多少呢?我们根据0.1436, =25.2, ,由以上的求解公式得到:a 0 x360N a.36036025.2 (1) -0.1436(1) -10rrr我们令,360360( ) 25.2 (1)-0.1436(1) -1frrrr则次问题就转化成非线性方程求根的问题,令( )0,fr求出 r我们先用 Newton

11、 函数求解在 Matlab 中输入如下程序:常识上, 应比当时活期存款月利率略高一些我们用当时的活期存款月利率r0.0198/2 作为迭代初值,为了剔除这个没有意义的根,我们对稍作变形:0r ( )frclear;fun=inline(25.2*(1+r)360/0.1436-(1+r)360-1)/r,r)fun = Inline function: fun(r) = 25.2*(1+r)360/0.1436-(1+r)360-1)/r dfun=inline(25.2*360*(1+r)359/0.1436-(360*(1+r)359*r-(1+r)360-1)/(r2);r=newton

12、(fun,dfun,0.0198/2,1e-4); R=12*r然后求得结果:R = 0.0553于是得出年利率为 5.53%下面我们用 Matlab 中的 fzero 函数检验一下: clear;fun=inline(25.2*(1+r)360-(1+r)360-1)/r*0.1436,r)fun = Inline function:6 / 12 文档可自由编辑打印 fun(r) = 25.2*(1+r)360-(1+r)360-1)/r*0.1436r=fzero(fun,0.0198/2);R=12*rR = 0.0553结果相同,可见牛顿迭代法的正确性2.3 应用牛顿迭代法计算最佳订货

13、量汽车工厂为了保证生产的正常运作,配件供应一定要由保障这些配件并不是在市场上随时可以买到的,所以往往要预先从配件供应商那里定货由于配件供应商并不是生产单一产品,为你的定货必须要在流水线上作出调整,所以每次定货需要收取一定量的生产准备费配件供应商的生产能力很大,开工后很快可以生产许多配件,但是你的汽车工厂并不是立即需要这么多,往往要在仓库里储存一段时间,为此你要付出储存费如果订货量很小,必然需要频繁定货,造成生产准备费的增加;反之,若订货量很大,定货周期必然延长,生产准备费下降,但这样会造成储存费的增加如何确定合适的订货量?实践中,这是一个相当复杂的问题,因为市场波动的影响是多方面的我们先作一些

14、必要的假设将问题简化1)汽车工厂对配件的日需量是恒定的,每日为 件;r2)所订配件按时一次性交货,生产准备费每次元;1 k3)储存费按当日实际储存量计算,储存费每日每件元;2k4)你的工厂不许缺货设一次定货件,由于工厂不允许缺货,而为了节省存储费,交货日期应定为恰x好用完时,所以定货日期 (1)/ .Tx r由于日需求量是恒定的,可以计算出第 天的存储量为t (2)( )-, 0.q tx rttT 由于第 t 天的储存费为q( t ),一个周期的总储存费为2k. (3)2201( )( )TTttkq tkq t d7 / 12 文档可自由编辑打印根据(1) , (2) , (3)得到一个周

15、期总费用,212( ) 2xC xkkr优化目标是使单位产品费用,12( )( )2kk xC xf xxxr达到最小由即( )0fx,122-02kkxr可直接解得.这就是著名的经济批量定货公式122k rxk当我们给出具体值时,非线性方程就可以求解了,由于具体的值不定,在此就不给出具体程序了8 / 12 文档可自由编辑打印结 论通过以上的论述我们可以知道计算机在现代生活中的应用已经如此普及,尤其是在数学计算当中,Matlab 软件更是发挥了不可替代的作用Matlab 以其强大的功能,方便了当今数值计算,数学教程,及工程计算等众多领域本文在以 Matlab 软件为平台的基础上,给出了非线性方

16、程的一般解法,非线性方程的求解有二分法,牛顿迭代法,简单牛顿法,牛顿下山法,弦截法,抛物线法等二分法的优点是算法简单,且总是收敛的,但由于二分法的收敛速度太慢,故一般不单独将其用于求根,只用其为根求得一个较好的近似其他的求根方法各有优 2值缺点,这里就不一一赘述本文主要介绍了牛顿迭代法及其在现实生活中的应用牛顿迭代法为平方收敛,故其收敛速度较快,但对初值的选取需要谨慎,如果初值选取错误,则可能导致方程迭代发散,最终不能求解出正确解在计算一些对精度要求特别苛刻时,最好给出较高的精度输入及输出,防止因为精度问题导致误差过大,最终影响结果牛顿迭代法可以应用于分形理论分形理论是近二、三十年才发展起来的一门新的学科,其主要描述自然界和非线性系统中不光滑和不规则的几何形体.在地质、材料科学、物理学、计算机科学、艺术设计等方面有着十分广阔的应用前景. 利用牛顿迭代的数学原理和方法,实现牛顿迭代法的分形图形生成算法,将分形理论应用于计算机图形设计中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论