非线性方程求根及其MATLAB实现PPT精品文档.ppt

上传人:rrsccc 文档编号:9676914 上传时间:2021-03-16 格式:PPT 页数:18 大小:217.50KB
返回 下载 相关 举报
非线性方程求根及其MATLAB实现PPT精品文档.ppt_第1页
第1页 / 共18页
非线性方程求根及其MATLAB实现PPT精品文档.ppt_第2页
第2页 / 共18页
非线性方程求根及其MATLAB实现PPT精品文档.ppt_第3页
第3页 / 共18页
非线性方程求根及其MATLAB实现PPT精品文档.ppt_第4页
第4页 / 共18页
非线性方程求根及其MATLAB实现PPT精品文档.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《非线性方程求根及其MATLAB实现PPT精品文档.ppt》由会员分享,可在线阅读,更多相关《非线性方程求根及其MATLAB实现PPT精品文档.ppt(18页珍藏版)》请在三一文库上搜索。

1、.,1,分类数学实验之,方程求近似实根问题,.,2,考虑方程 f (x) = 0 求根分为两步: ()先确定某个根的近似值; ()再将初始近似值加工成满足精度要求的结果。,.两分法迭代(理论基础:零点定理),设f (x)Ca, b,f (a)f (b) 0。区间(a, b)就是方程 根的存在区间,再用下面的方法改善根的精度。,方程求根数值算法的基本思想,取a, b的中点x0=(a+b)/2,若f (x0)=0,则x0即是根;,否则,f (a)f (x0) 0,令a1 = a,b1 = x0(取a, b的左半部);,f (x0)f (b) 0,令a1 = x0,b1 = b(取a, b的右半部)

2、。,.,3,a,b,f(a) f(a+b)/2),f(b),f(x),x,y,.,4,将上述做法重复n次,得到n个小区间,且 bn-an = (b-a)/2n , a, b,.两分法迭代,当n足够大时即可达到满意的精度。,.,5,例1 求方程 x 3 + 1.1x 2 + 0.9x 1.4 = 0 的一个实根。使误差不超过10-3,.两分法迭代,解:()首先观测图形,作f(x)的图像:,ezplot(x3 + 1.1*x2 + 0.9*x- 1.4),x=-1:0.01:1; y=x.3+1.1.*x.2+0.9.*x-1.4; %函数表达式 figure; plot(x,y,LineWidt

3、h,2) %画出图形 hold on; y1=zeros(size(x); %y10 plot(x,y1,r,LineWidth,4);,.,6,bisect.m 关于此程序的解释见“方程求根的代码解释”一文,()按两分法的思想,进行迭代求根。,为了使得程序具有通用性,将方程的表达式写成 一个函数:,function y=myequation(x); y=x.3+1.1.*x.2+0.9.*x-1.4;,这样修改y的表达式,即可求出其他方程的实根。,(3)运行二分法的程序:,.,7,两分法迭代的加速:,a,b,f(a) f(a+b)/2),f(b),f(x),x,y,c,以f(a),f(b)的

4、连线在x轴的交点作为新的出 发点。但此方法不一定能真正加速。 原理请详见教材p191。,程序:fastbisect.m,.,8,.不动点迭代,称满足方程 f(x)=x的点x为函数f的不动点. 求函数f的不动点。可以从一个初始点x0出发,以格式 xn+1=f(xn)进行迭代; x1 =f(x0),x2 =f(x1),xk+1 =f(xk), 得到x0,x1,x2,xn,. 如果该数列是收敛的,则,.,9,将方程 f (x) = 0 化为等价方程 x =(x) (2) 取某个定数x0,做数列xn,其中, x1 =(x0),x2 =(x1),xk+1 =(xk), (3) 设(x)连续,且,a就是方

5、程f (x) = 0的根。,a就是函数的一个不动点,即 a =(a),等价于 f (a) = 0,.,10,y=f(x),x0,f(x0),x1= f(x0),f(x1),x2= f(x1),y=x,x,收敛的迭代:,.,11,发散的迭代:,x0,.,12,.不动点迭代,解:可将方程写成下三种形式:,x = 14 x 2 ,function f=iterfun(x) % f=14-x.2; % f=14./(x+1); f=x-(x.2+x-14)./(2*x+1);,(1)将三种迭代形式写成函数存起来:,(2)演示程序 使用的程序:iter.m,.,13,.不动点迭代,收敛性蛛网图,一般地,

6、若函数(x)在含不动点的某邻域内一阶导 数连续,且,则存在一个邻域:|-x|,对任何的x0, 其迭代序列必收敛。,高级例子iterexample2.m请同学们自己消化,.,14,3.牛顿迭代法,记a, b为方程 f (x) = 0的根的存在区间, f (a)与f (b)异号,且对于每个xa, b, f (x)0,f (x)保持符号不变。,取x0a, b,对f (x)用微分中值定理,近似地,有 f (x)p (x) = f (x0) + f (x0)(x - x0),令p (x) = 0,得到f (x) = 0的近似根,记为x1=,为改善根的精确程度,反复实施这一过程,得到牛顿迭代公式:,.,1

7、5,xk+1就是从线性方程 f (xk) + f (xk)(x xk) = 0 (1) 中解得的根x.,以点(xk , f (xk)为切点,曲线y = f (x)的切线 y = f (xk) + f (xk)(x xk) (2),方程(2)与 y=0相联立,得到与x轴的交点,该交点 即xk+1,.,16,x*,x0,x0,f(x0),x1,x1,f(x1),x2,.,17,例3 求方程,在 x0 = 2附近的近似实根。 准确到小数点后4位数字,解:,迭代公式为:,计算步骤如下:,(1)选x0=2,按照迭代公式计算x1; (2)若|x1-x0|=0.00001,终止迭代;否则,x0=x1;转(1

8、); (3)输出迭代次数和近似根,.,18,编程步骤如下:,(1)写函数:,function fun,dfun=fun0(x) fun=x3-3*x-1;%求原函数的值 dfun=3*x2-3;%求一阶导数的值;,(2)写牛顿迭代法的程序:,x0=2; fun,dfun=fun0(x0); x1=x0-fun/dfun;i=1; while abs(x1-x0)0.00001 x0=x1; fun,dfun=fun0(x0); x1=x0-fun/dfun; i=i+1; end,disp(the solution is x1=) x1 disp(the iter time is ) i,newtuniter.m,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1