- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五讲 方程的近似根与迭代法.doc
第五讲 方程的近似根与迭代法
实验目的:
1.理解求方程近似解的二分法、切线法.
2.了解迭代法的思想.
3.用matlab编二分法、切线法的程序.
实验内容:
1.学习matlab命令.
matlab的while-end循环语句和C语言的while循环语句类似,while循环的一般形式是:
while表达式
循环体
end
只要表达式的结果非零,循环体语句就重复执行.
例1.利用while循环解答:使n!是100位数的第一个n是几?
解:n=1;
nj=1;
while nj1e100
nj=nj*n;
n=n+1;
end
n=n-1
2.二分法求方程的近似根
求方程的近似解,可分两步来做:
(1)确定根的大致范围,就是确定一个区间[a,b],使所求的根是位于这个区间内的唯一实根,这一步工作称为根的隔离,区间[a,b]称为所求实根的隔离区间.为了确定根的隔离区间,可以先画出y=f(x)的图形,然后从图上定出它与x轴交点的大概位置.
(2)以根的隔离区间的端点作为根的初始近似值,逐步改善根的近似值的精确度,直至求得满足精确度要求的根的近似解.完成这一步工作有多种方法,这里介绍二分法和切线法.
设f(x)在区间[a,b]上连续,f(a)f(b)0,且方程f(x)=0在(a,b)内仅有一个实根,那么,[a,b]就是这个根的隔离区间.
取[a,b]的中点,计算,如果,则;如果与同号,那么,取,,由即知,,且;以为新的隔离区间,重复上述做法,当时,可求得,且如此重复n次,可得,且,由此可知,如果以或作为的近似值,那么,其误差小于.
例2.用二分法求方程的实根的近似值,使误差不超过.
解:(1)求根的初始隔离区间.
在matlab工作区输入命令:
ezplot(x^3+1.1*x^2+0.9*x-1.4);grid on;
画出曲线图形.
通过观察,根应在-2和2之间,进一步画出该部分的图形:
ezplot(x^3+1.1*x^2+0.9*x-1.4,[-2,2]);grid on;
更清楚看到根在0和1之间.
(2)编写程序如下:
f=input(输入函数f(x)=);
qujian=input(输入区间=);
err=input(请输入误差=);
a=qujian(1);
b=qujian(2);
yc=1;
while((b-a)err)(yc~=0);
c=(a+b)/2;
x=a;
ya=eval(f);
x=b;
yb=eval(f);
x=c;
yc=eval(f);
if ya*yc0
b=c;
else
a=c;
end
x0=c
end
存为文件erfanfa.m
调用erfanfa的如下结果:
erfenfa
输入函数f(x)=x^3+1.1*x^2+0.9*x-1.4
输入区间=[0,1]
请输入误差=0.001
x0=
0.5000
x0=
0.7500
x0=
0.6250
x0=
0.6875
x0=
0.6563
x0=
0.6719
x0=
0.6641
x0=
0.6680
x0=
0.6699
x0=
0.6709
三.迭代法
迭代是一种逐步逼近的方法,已知方程f(x)=0的一个近似根后,通常使用某个固定公式反复校正根的近似值,使之逐步精确化,一直到满足给定的精度要求为止.
具体做法是,把给定方程f(x)=0改写成等价形式
在根附近任取一点作为的近似值,把代入上式右端:
一般(时,).把作为根的新的近似值代入公式得.重复上述步骤,则有如下迭代公式:
()
其中称为迭代函数,并有如下迭代序列
如果迭代序列的极限存在,则称迭代过程收敛,显然
即
所以
如果迭代序列的极限不存在,则称迭代过程发散.
例3.求方程在x=1.5附近的根.
解:将方程改写成下列形式:
由此得迭代公式
()
迭代初值.matlab程序如下:
x0=1.5;
fori=1:20
x0=(x0+1)^(1/3)
end
运行如下:
x0=
1.35720880829745
x0=
1.33086095880143
x0=
1.32588377423235
x0=
1.32493936340188
x0=
1.32476001129270
x0=
1.32472594522689
x0=
1.32471947453436
x0=
1.32471824544894
x0=
1.32471801198820
x0=
1.32471796764309
x0=
1.32471795921988
x0=
1.32471795761992
x0=
1.32471795731601
x0=
1.32471795725828
x0=
1.32471795724732
x0=
1.32471795724523
x0=
1.32471795724484
文档评论(0)