




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第二章方程及方程组的解实验2.1线性方程组的解
实验2.2非线性方程的解2实验2.2非线性方程组的解数学实验一、二分法二、简单迭代法三、牛顿迭代法四、应用举例3实验2.2非线性方程的解一、二分法1.数学原理4离区间,重复上述做法,实验2.2非线性方程的解52.MATLAB实现用二分法求方程根的近似值,一般分为两步:第一步根的隔离用fplot函数作出y=f(x)的图形,它与x轴的交点就是方程f(x)=0的根.确定根的存在区间[a,b](即根的隔离区间)使方程第二步根的逐次逼近若函数f(x)在根的隔离区间[a,b]上单调连续,且则在(a,b)内方程有唯一根.我们可以反复用将根的隔离区间一分为二,其中含有根的区间为新的隔离区间的方法,最终搜索到达到要求精度的根的近似值.实验2.2非线性方程的解6实验2.2非线性方程的解functiony=erfen(fun,a,b,esp)iffeval(fun,a).*feval(fun,b)<0n=1;c=(a+b)/2;
whileabs(b-a)>esp
if
feval(fun,a).*feval(fun,c)<0b=c;c=(a+b)/2;
elseiffeval(fun,c).*feval(fun,b)<0a=c;c=(a+b)/2;
elsey=c;esp=10000;
end打开M-edit窗口,编写二分法程序:erfen·mn=n+1;endy=c;elseiffeval(fun,a)==0y=a;elseiffeval(fun,b)==0y=b;elsedisp('these,maynotbearootintheintercal');endn7实验2.2非线性方程的解解fplot('x^4-8.6*x^3-35.51*x^2+464.4*x-998.46',[0,10]),gridon↙例6
求方程的隔离区间,并用二分(1)求根的隔离区间,设法求方程在这个区间内根的近似值,使误差不在命令窗口输入:8实验2.2非线性方程的解经过15次搜索,得到方程的近似根为x=7.3485,误差不超过functiony=f(x)y=x^4-8.6*x^3-35.51*x^2+464.4*x-998.46;erfen('f',7,8,1.0e-4)↙在命令窗口输入:编写函数文件f.mn=15ans=7.3485
由二分法的原理可知,当根的隔离区间较大时,收敛于根的速度很快;而当根的隔离区间较小时,靠近根的速度较缓慢,且难以满足高精度的要求.因此常用这种方法为迭代法提供初值.9实验2.2非线性方程的解二、简单迭代法简单迭代法的基本思想是将方程改写为等价形式当方程的根难以求出时,这种求根的近似值的方法称为简单迭代法.称为迭代格式.1.简单迭代法简介10实验2.2非线性方程的解用迭代法求方程的根的首要问题是迭代序列是否收敛.为此我们先从几何上观察由简单迭代格式得到的迭代序列的收敛性.由图可见,根据初始值因此迭代序列是收敛的.11在下图中,按上述同样的方法产生的点列逐渐远离交点
,可见迭代序列是发散的.通过上面的作图可见,迭代序列是否收敛与a的取值有关,实验2.2非线性方程的解12实验2.2非线性方程的解2.简单迭代法MATLAB实现先编写简单迭代程序iterate.m及关于方程的函数f.m文件存入工作窗口,再调用其中x0为初始值.编写迭代法程序iterate.m:简单迭代法命令iterate('f',x0),functiony=iterate(fun,x,esp)ifnargin<3esp=1e-4;endx1=feval(fun,x);n=1;while(abs(x1-x)>=esp)&(n<=1000)
x=x1;
x1=feval(fun,x);
n=n+1;endx1n其中espw为精度.13,分别用下面两种迭代格式:例7
已知方程求方程根的近似值,使误差不超过解在迭代法程序iterate.m中,令esp=1.0e-4.(1)编写函数g.m文件functiony=g(x)y=(0.8+x^2)^(1/3);在命令窗口输入:iterate('g',1.5)↙实验2.2非线性方程的解x1=1.4052n=1014functiony=g1(x)y=(x^3-0.8)^0.5;(2)编写函数g1.m文件在命令窗口输入:迭代格式(2)发散.iterate(1.5)↙实验2.2非线性方程的解经过10次迭代,得到方程的近似根为x=1.4052,误差不超过x1=
Infn=2015在迭代格式(1)中,设,则在迭代格式(2)中,设,则迭代格式(2)是发散的.迭代格式是收敛的.实验2.2非线性方程的解16定理则在该邻域内的任意初始值收敛于α.(证明略)但如何改写才能使迭代序列收敛?收敛的速度更快?这是用迭代法求方程的根的另一个问题.注意到迭代函也是他们的加权平均的不动点.根据上面的实验,使得迭代序列收敛并加快收敛速度,实验2.2非线性方程的解17得于是得修正迭代函数修正迭代格式实验2.2非线性方程的解18在例7中,g2.mfunctiony=g2(x)y=x-[3*(0.8+x^2)-3*x*(0.8+x^2)^(2/3)]/[2*x-3*(0.8+x^2)^(2/3)]iterate('g2',1.5)↙输入:迭代格式(1)修正后,经过2次迭代,得到方程的近似根
x=1.4052,误差不超过10-4,收敛速度明显加快.利用修正迭代格式求根的近似值如下:实验2.2非线性方程的解x1=1.4052n=219编写函数文件g3.m:functiony=g3(x)y=x-[2*(x^3-0.8)-2*x*(x^3-0.8)^(1/2)]/[3*x^2-2*(x^3-0.8)^(1/2)]iterate('g3',1.5)↙输入:迭代格式(2)修正后,经过2次迭代,就可以达到所求的近似根.实验2.2非线性方程的解x1=1.4052n=220实验2.2非线性方程的解三、牛顿迭代法牛顿迭代法是将非线性方程f(x)=0的求解逐步化为线性方程来求解,是线性化与迭代法的结合.从几何上看,就是用曲线上一点的切线与x轴的交点来近似代替根.1.非线性方程单根的求法如图21重复这一过程得迭代格式这种求方程近似根的方法称为牛顿迭代法.迭代函数为实验2.2非线性方程的解222.非线性方程重根的求法若存在正整数m使得可以证明,在充要条件是实验2.2非线性方程的解由此可见,则即233.牛顿迭代法的MATLAB实现编写牛顿迭代法程序newton.m:functiony=newton('f',df,x0)x1=x0-feval(f,x0)/feval(df,x0);esp=1e-4;n=1;while(abs(x1-x0)>=esp)
x0=x1;x1=x0-feval(f,x0)/feval(df,x0);
n=n+1;endx1n实验2.2非线性方程的解24例8
用牛顿迭代法求方程在[0,1]内实根的近似值,使误差不超过解在牛顿迭代法程序中,取编写函数文件f.m:functiony=f(x)y=exp(x)+10*x-2;编写f(x)的导函数文件df.m:functiony=f(x)y=exp(x)+10;实验2.2非线性方程的解25分别取初值x0=1,0,在命令窗口输入:newton('f','df',1)↙newton('f','df',0)↙当初值x0=1时,迭代4次后得到满足要求的的近似解
x=0.0905;
当初值x0=0时,仅迭代3次后得到所求的解.由此可见,选择适当的初值可以提高迭代序列的收敛速度.实验2.2非线性方程的解x1=0.0905n=4x1=0.0905n=326例9
求方程附近的根,使误差不超过解由例6知,方程在x=4附近有一重根.在牛顿迭代法中,编写函数文件f1.m:functiony=f1(x)y=x^4-8.6*x^3-35.51*x^2+464.4*x-998.46;实验2.2非线性方程的解编写f1(x)的导函数文件df1.m:functiony=df1(x)y=4*x^3-25.8*x^2-71.02*x+464.4;在命令窗口输入:newton('f1','df1',4.0)↙x1=4.2999n=
12经过12次迭代,得到满足要求的解
x=4.2999.27用公式编写函数文件f2.m:functiony=f2(x)y=(x^4-8.6*x^3-35.51*x^2+464.4*x-998.46)/(4*x^3-25.8*x^2-71.02*x+464.4);实验2.2非线性方程的解编写f2(x)的导函数文件df2.m:functiony=df2(x)y=1-(x^4-8.6*x^3-35.51*x^2+464.4*x-998.46)*(12*x^2-51.6*x-71.02)/(4*x^3-25.8*x^2-71.02*x+464.4)^2;在命令窗口输入:newton('f2','df2',4.0)↙经过3次迭代,得到满足要求的解
x=4.3000.x1=4.3000n=328从图中可以看出,在[3,5]内f1(x)=0有一个重根.如果选取的初值x0不恰当,点的切线斜率的绝对值就会较大,此时用切线与x轴的交点x1作为根的近似值,与用x0作为根的近似值产生的误差相差无几,因此用f1(x)构造的牛顿迭代序列收敛性较差(迭代50次才达到要求的精度!!).而用f2(x)构造的迭代序列收敛速度非常快(仅需要迭代3次就可以达到要求的进度.实验2.2非线性方程的解
数值求解非线性方程的方法虽然比较机械,有时需要进行大量的重复计算,但其诠释了无限逼近的过程,精确与近似的相对统一.29实验2.2非线性方程的解四、应用举例一辆汽车售价A0元,可分m个月付款,每月需交b元,计算这种分期付款的年利率.利用这种方式购车,我们需要每月把b元存入汽车销售商的账户,也就相当于汽车销售商周期的收入资金.设利率按每月收款计算为r,为使m个月后存入银行A0元,则第一个月应该交第二个月应该交于是有30由公式(1)可以计算出月利率,月利率乘以12便可以得到年利率.若买一辆汽车15000元,可分60个月付款,每月需交3114元;也可以向银行贷款,贷款的期限为5年,年利率为6.66%,应该选择哪一种方式购车.例10解在公式(1)中,于是得显然r=0是上述方程的根,但这里我们要求的是最小正根.实验2.2非线性方程的解编写函数文件f.m31编写函数文件f.mfunction
y=f(r)y=150000*r*(1+r)^60-3114*(1+r)^60+3114;确定根的隔离区间fplot('f',[0.001,0.5]),gridon↙由图知根的隔离区间[0.001,0.5].实验2.2非线性方程的解32调用二分法的程序,在命令窗口输入:erfen('f',0.001,0.5,1.0e-4)↙于是得月利率年利率为所以分期付款买车要付的利率高达9%,与5年贷款的利率比较,最好选择贷款买车.实验2.2非线性方程的解n=
14ans=0.007533例11
某人要贷款30000元购房,现有两种贷款方式:(1)贷款在20年内分240次按月本息等额偿还,每月还款2510元;(2)在每月还款额基本不变的条件下,提前两年还清贷款,但要求首期先预付半年的还款,且改每月还款2510元为每半月还款1255元。应选择哪种方式贷款?解(1)按月等额偿还.设借款的月利率为r,由公式实验2.2非线性方程的解于是有整理得34记编写函数文件f.mfunction
y=f(r)y=30000*r*(1+r)^240-251*(1+r)^240+251;实验2.2非线性方程的解计算函数f(r)的值:feval('f',0.05)↙feval('f',0.001)↙ans=
1.5205e+08ans=-29.912435编写导函数文件df.mfunctiony=df(r)y=30000*(1+r)^240+30000*240*r*(1+r)^239-251*240*(1+r)^239;在牛顿迭代法程序中,取初值在命令窗口输入:newton('f','df',0.05)↙r1=0.0067n=
163
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2199-2025数字式时钟校准规范
- 前期策划合同范本
- 养牛设备出售合同范本
- 保障性住房购房合同范本
- 加油卡租车合同范本
- 协议单位优惠合同范例
- 医药物流合同范本
- 修叉车合同范本
- 劳务分包协议合同范本
- 劳务合同范本已填
- 脱硫自动化控制-洞察分析
- 医务人员医德医风培训
- 人教版初中历史八上-第2课 第二次鸦片战争
- 2024湖北省金口电排站管理处招聘易考易错模拟试题(共500题)试卷后附参考答案
- 油井供水合同范例
- 2025年人教部编版语文五年级下册教学计划(含进度表)
- 全国计算机等级考试一级试题及答案(5套)
- 银河证券-科创板认知测评题目及答案
- 产品方案设计模板
- 部队通讯员培训
- 物业公司水浸、水管爆裂事故应急处置预案
评论
0/150
提交评论