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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

matlab中方程根的近似计算Word下载.docx

1、ezplot x-x,grid onhold onezplot(x5+2*x2+4,-2*pi,2*pi) 1-1 函数f(x)=x5+2x2+4的图形x=-2*pi:0.1:2*pi;y1=zeros(size(x);y2= x.5+2*x.2+4;plot(x,y1,x,y2)grid on axis tighttitle(x5+2x2+4)xlabel(x) 从图1-1可见,它有一个实数根,大致分布在-2与2之间。(2)将作图范围不断缩小,用放大法可得到精度越来越高的根的近似值。在matlab命令窗中先后键入subplot(2,2,1)ezplot x-x, grid on, hold

2、on, ezplot(,-2,2)subplot(2,2,2),-2,-1)subplot(2,2,3),-1.6,-1.5)subplot(2,2,4),-1.55,-1.54) 图1-2 放大法求函数f(x)=x5+2x2+4的根由图1-2可知,方程的根在-1.545与-1.54之间。1.2 数值方法非线性方程f(x)=0求根的方法有区间法和迭代法两大类,二分法、弦位法是区间法,简单迭代法和牛顿迭代法及其变形是迭代法,这里只给出二分法、简单迭代法和牛顿迭代法的构造过程。(1)根的隔离与二分法根的隔离思想来源于连续函数的零点定理:若函数f(x)在闭区间a,b上连续,且f(a)f(b)0,则方

3、程f(x)=0在(a,b)内至少有一根x*。二分法是最简单的求根方法,它是利用连续函数的零点定理,将含根区间逐次减半缩小,取区间的中点构造收敛点列xn来逼近根x*。用该方法求f(x)=0的近似解可分两步做:第一步,确定根的近似位置或大致范围,即确定一个区间a,b,使所求根是位于这个区间内的唯一实根。这个区间称为根的隔离区间,这可以通过函数作图达到:先画出y=f(x)的图形,然后从图上定出它与x轴交点的大概位置。第二步,以根的隔离区间a,b的端点作为根的初始近似值,用二分法逐步改进根的近似值的精确度,直至求得满足精确度的近似解。具体步骤如下:取a,b的中点x0=(a+b)/2,若f(x0)=0,

4、则x0就是f(x)=0的根x*。若f(a)f(x0)0,则根x*必在区间(a,x0)内,取a1=a, b1=x0;否则根x*必在区间(x0,b)内,取a1=x0, b1=b。这样,得到新区间a1,b1,其长度为a,b的一半。如此继续下去,进行n等分后,得到一组不断缩小的区间序列a,b, a1,b1, a2,b2, an,bn,和对应区间的中点数列xn=(an+bn)/2, n=0,1,2, 其中每个区间都含有根x*,满足a,ba1,b1 a2,b2 an,bn 且每个区间的长度都是前一区间长度的一半。由于an,bn的长度为(b-a)/2n,当n不断变大时,这些区间将收敛于一点x*,该点即为所求

5、的根。当做到第n步时,有选择适当的步数n,就可达到满意的精度。用二分法,理论上区间中点序列xn将收敛到根的真值,但收敛速度较慢,所以通常用二分法为其他方法提供初步的近似值。(2)简单迭代法迭代法的基本原理是构造一个迭代公式,反复用它得出一个逐次逼近方程根的数列,数列中每一项都是方程根的近似值,只是精度不同。简单迭代法也成逐次迭代法,是非线性方程求根中各类迭代法的基础。由于对方程作等价变换根不发生变换,将方程f(x)=0等价变换为,构造迭代计算公式。取定初值x0,算出数列xn。如果xn收敛于x*,则有这说明,x*就是方程f(x)=0的根。上面称为不动点方程,称为迭代函数,数列xn称为迭代数列。(

6、3)牛顿迭代法如果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*yc erfenfa输入区间=0,1输入误差=0.001x0=0.5000x0=0.7500x0=0.6250x0=0.6875x0=0.6563x0=0.6719x0=0.6641x0=0.6680x0=0.6699x0=0.6709由此得到,方程的根的近似值为0.6709.2、编写牛顿迭代法求根程序,求1中方程x3+1.1x2+0.9x-1.4=0的实根的近似值,并计算迭代次数

7、为6的近似根。由1可知,0.5,1是根所在的区间,在0.5,1上f(x)= x3+1.1x2+0.9x-1.4f(x)=3*x2+2.2x+0.9, f(x)=6x+2.2(x)在0.5, 1上保持同号,f(1)0与f(1)同号,所以取x0=1为迭代初始值。用matlab语言编写一般的程序如下:n=input(请输入迭代次数:n=x0=input(请输入迭代初始值:x0=f1=diff(f);format longfor i=1:nx=x0;fx0=eval(f);f1x0=eval(f1);x0=x0-fx0/f1x0;fprintf(x0=%12.10fn,x0)存为文件niudunfa.

8、m,调用及运行结果如下: niudunfan=6x0=1x0=0.7377049180x0=0.6741688117x0=0.6706675756x0=0.6706573108x0=0.6706573107由此得到,方程的根的近似值为0.6706573107。3. 用matlab中的内部函数求方程的根。(1)用roots求方程x9+x8+1=0的根;(2)用solve求上述方程的根;(3)用fzero求方程x2+4sinx=25的实根;(4)用fsolve求方程x=e-x在0附近的根;(1)在matlab命令窗口输入命令:p=zeros(10,1); p(1:2,end,1)=1; roots

9、(p) ans = -1.213149723059643 -0.901727735578254 + 0.575312094072893i -0.901727735578254 - 0.575312094072893i -0.269351937596575 + 0.940578401023146i -0.269351937596575 - 0.940578401023146i 0.416834006536573 + 0.841919773084660i 0.416834006536573 - 0.841919773084660i 0.860820528168075 + 0.33435225889

10、7906i 0.860820528168075 - 0.334352258897906i (2)在matlab命令窗口输入命令:solve(x9+x8+1=0RootOf(X19 + X18 + 1, X1) (3)首先作图确定根的大致范围:clf, ezplot x-x, grid on, hold on, ezplot(x2+4*sin(x)-25图1-6由图1-6可确定两根在x1-4,x25附近。再具体求根。x1=fzero(,-4)x2=fzero( x2+4*sin(x)-25,5) x1 = -4.586052690568049x2 = 5.318580248846235 (4)在matlab命令窗口输入命令:x=fsolve(x-exp(-x),0) Optimization terminated: first-order optimality is less than options.TolFun.x = 0.567143165036970 五、实验练习1、用二分法求方程x3-1.2x+6=0的实根的近似值,使误差不超过10-3,并用roots命令进行检验。2、用牛顿迭代法求方程x3-1.1x2+2x-8=0的实根的近似值,使误差不超过0.001,并用solve命令进行检验。3、用简单迭代法求方程x=e-x在0附近的根,并用fsolve命令进行检验。

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

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