第五讲 方程的近似根与迭代法.doc_第1页
第五讲 方程的近似根与迭代法.doc_第2页
第五讲 方程的近似根与迭代法.doc_第3页
第五讲 方程的近似根与迭代法.doc_第4页
第五讲 方程的近似根与迭代法.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

第五讲 方程的近似根与迭代法实验目的:1.理解求方程近似解的二分法、切线法.2.了解迭代法的思想.3.用matlab编二分法、切线法的程序.实验内容:1.学习matlab命令.matlab的while-end循环语句和C语言的while循环语句类似,while循环的一般形式是:while表达式循环体end只要表达式的结果非零,循环体语句就重复执行.例1.利用while循环解答:使n!是100的第一个n是几?解:n=1;nj=1;while nj1e100nj=nj*n;n=n+1;endn=n-1(le表示小于等于)2.二分法求方程的近似根求方程的近似解,可分两步来做:(1)确定根的大致范围,就是确定一个区间a,b,使所求的根是位于这个区间内的唯一实根,这一步工作称为根的隔离,区间a,b称为所求实根的隔离区间.为了确定根的隔离区间,可以先画出y=f(x)的图形,然后从图上定出它与x轴交点的大概位置.(2)以根的隔离区间的端点作为根的初始近似值,逐步改善根的近似值的精确度,直至求得满足精确度要求的根的近似解.完成这一步工作有多种方法,这里介绍二分法和切线法.设f(x)在区间a,b上连续,f(a)f(b)err)&(yc=0);c=(a+b)/2;x=a;ya=eval(f);x=b;yb=eval(f);x=c;yc=eval(f);if ya*yc0b=c;elsea=c;endx0=cend存为文件erfanfa.m调用erfanfa的如下结果:erfenfa输入函数f(x)=x3+1.1*x2+0.9*x-1.4输入区间=0,1请输入误差=0.001x0=0.5000x0=0.7500x0=0.6250x0=0.6875x0=0.6563x0=0.6719x0=0.6641x0=0.6680x0=0.6699x0=0.6709三.迭代法迭代是一种逐步逼近的方法,已知方程f(x)=0的一个近似根后,通常使用某个固定公式反复校正根的近似值,使之逐步精确化,一直到满足给定的精度要求为止.具体做法是,把给定方程f(x)=0改写成等价形式在根附近任取一点作为的近似值,把代入上式右端:一般(时,).把作为根的新的近似值代入公式得.重复上述步骤,则有如下迭代公式:()其中称为迭代函数,并有如下迭代序列如果迭代序列的极限存在,则称迭代过程收敛,显然即所以如果迭代序列的极限不存在,则称迭代过程发散.例3.求方程在x=1.5附近的根.解:将方程改写成下列形式:由此得迭代公式()迭代初值.matlab程序如下:x0=1.5;fori=1:20x0=(x0+1)(1/3)end运行如下:x0=1.35720880829745x0=1.33086095880143x0=1.32588377423235x0=1.32493936340188x0=1.32476001129270x0=1.32472594522689x0=1.32471947453436x0=1.32471824544894x0=1.32471801198820x0=1.32471796764309x0=1.32471795921988x0=1.32471795761992x0=1.32471795731601x0=1.32471795725828x0=1.32471795724732x0=1.32471795724523x0=1.32471795724484x0=1.32471795724476x0=1.32471795724475x0=1.32471795724475看到最后两项一样,即,可以认为,满足方程,即为所求根的近似值.=1.32471795724475上述迭代过程是收敛的.如果将方程改写成如下等价形式则有迭代公式迭代初值仍取,则=2.375,=12.39,.迭代过程发散.本例说明,迭代过程收敛是有一定条件的,发散的迭代过程是没有意义的.四.切线法设f(x)在a,b上具有二阶导数.f(a)f(b)0与同号,所以取=1为迭代初始值.用m语言编出一般的程序如下:f=input(输入函数:f(x)=);n=input(请输入迭代次数:n=);x0=input(请输入迭代初始值:x0=);f1=diff(f);fori=1:nx=x0;fx0=eval(f);f1x0=eval(f1);x0=x0-fx0/f1x0end存为qiexianfa.m,运行结果如下:qiexianfa输入函数:f(x)=x3+1.1*x2+0.9*x-1.4请输入迭代次数:n=6请输入迭代初始值:x0=1x0=0.737704918

温馨提示

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

评论

0/150

提交评论