实验5非线性方程求根及其MATLAB实现ppt课件.ppt

实验5非线性方程求根及其MATLAB实现ppt课件.ppt

ID:59471895

大小:322.50 KB

页数:29页

时间:2020-09-14

实验5非线性方程求根及其MATLAB实现ppt课件.ppt_第1页
实验5非线性方程求根及其MATLAB实现ppt课件.ppt_第2页
实验5非线性方程求根及其MATLAB实现ppt课件.ppt_第3页
实验5非线性方程求根及其MATLAB实现ppt课件.ppt_第4页
实验5非线性方程求根及其MATLAB实现ppt课件.ppt_第5页
资源描述:

《实验5非线性方程求根及其MATLAB实现ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、分类数学实验之方程求近似实根问题、高射炮的控制区域问题对应书本的第二章数值计算问题的2.1及2.4考虑方程f(x)=0⑴求根分为两步:(1)先确定某个根的近似值;(2)再将初始近似值加工成满足精度要求的结果。1.两分法迭代(理论基础:零点定理)设f(x)∈C[a,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

2、=b(取[a,b]的右半部)。abf(a)f((a+b)/2)f(b)f(x)xy将上述做法重复n次,得到n个小区间,且bn-an=(b-a)/2n,[a,b]经过一次这样对原区间[a,b]的处理,得到了一个新的有根区间[a1,b1],且b1-a1=(b-a)/2,[a,b][a1,b1]。1.两分法迭代当n足够大时即可达到满意的精度σ。[a1,b1]…[an,bn]。需要的迭代次数为:例1求方程x3+1.1x2+0.9x–1.4=0的一个实根。使误差不超过10-31.两分法迭代解:(1)首先观测图形,作f(x)的图像:ezplot('x^3+1.1*x^2+0.9*x-1.

3、4')x=-1:0.01:1;y=x.^3+1.1.*x.^2+0.9.*x-1.4;%函数表达式figure;plot(x,y,'LineWidth',2)%画出图形holdon;y1=zeros(size(x));%y1=0plot(x,y1,'r','LineWidth',4);先绘制其图形观察一下:bisect.m(2)按两分法的思想,进行迭代求根。为了使得程序具有通用性,将方程的表达式写成一个函数:functiony=myequation(x);y=x.^3+1.1.*x.^2+0.9.*x-1.4;这样修改y的表达式,即可求出其他方程的实根。(3)运行二分法的程序

4、:(该程序在matlab中打开)x0=-1;x1=2;%初始值根始终在x0和x1之间i=0;delt=10e-5;%精度N=ceil((log(x1-x0)-log(delt))/log(2));%理论迭代次数whileabs(x1-x0)>delt%达不到我们需要的精度y0=myequation(x0);y1=myequation(x1);%求两个初始点处的y值x2=(x0+x1)./2;%二分y2=myequation(x2);%求在中点处的值ify2==0%恰好是方程的根x0=x2;x1=x2;elseify0*y2<0%方程的根落在x0和x2之间x1=x2;%新的两个

5、端点为:x0=x0;x1=x2。else%方程的根落在y1和y2之间x0=x2;%新的两个端点为:x0=x2;x1=x1。endi=i+1;enddisp(‘方程的根为:x=’);x0disp(‘实际迭代次数为:i=');idisp('理论迭代次数为:N=');Nbisect.m两分法迭代的加速:abf(a)f((a+b)/2)f(b)f(x)xyc以f(a),f(b)的连线在x轴的交点c作为新的出发点。程序:fastbisect.m注:此方法不一定能加速!!!减速举例:abf(a)f(b)f(x)xyc程序:fastbisect.mf((a+b)/2)加速情况举例:2.不动

6、点迭代称满足方程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,…..如果该数列是收敛的,则将方程f(x)=0⑴化为等价方程x=φ(x)(2)取某个定数x0,做数列{xn},其中,x1=φ(x0),x2=φ(x1),…,xk+1=φ(xk),…(3)设φ(x)连续,且a就是方程f(x)=0的根。a就是函数φ的一个不动点,即a=φ(a)等价于f(a)=0求根原理:y=f(x)x0f(x0)x1=f(x0)f(x1)

7、x2=f(x1)y=xx收敛的迭代:观察动态演示:发散的迭代:观察动态演示:x0由以上图形可以看出,序列的收敛速度,取决于曲线在根附近的斜率所以在根x*附近,’(x)恒小于1,则此迭代序列收敛,若’(x)1,则此序列发散。2.不动点迭代例2求方程在x=3附近的近似实根。解:可将方程写成下三种形式:x=14–x2,functionf=iterfun(x)%f=14-x.^2;%f=14./(x+1);f=x-(x.^2+x-14)./(2*x+1);(1)将三种迭代形式写成函数存起来:(2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。