MATLAB实验三代数方程的近似解

MATLAB实验三代数方程的近似解

ID:39334229

大小:271.10 KB

页数:24页

时间:2019-07-01

MATLAB实验三代数方程的近似解_第1页
MATLAB实验三代数方程的近似解_第2页
MATLAB实验三代数方程的近似解_第3页
MATLAB实验三代数方程的近似解_第4页
MATLAB实验三代数方程的近似解_第5页
资源描述:

《MATLAB实验三代数方程的近似解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三求代数方程的近似根(解)数学实验问题背景和实验目的实验三、近似求解代数方程解方程(代数方程)是最常见的数学问题之一,也是众多应用领域中不可避免的问题之一。目前还没有一般的解析方法来求解非线性方程,但如果在任意给定的精度下,能够解出方程的近似解,则可以认为求解问题已基本解决,至少可以满足实际需要。本实验主要介绍一些有效的求解方程的数值方法:对分法,迭代法和牛顿法。同时要求大家学会如何利用Matlab来求方程的近似解。相关概念如果f(x)是一次多项式,称上面的方程为线性方程;否则称之为非线性方程。线性方程与非线性方程本实验主要讨论非线性方

2、程的数值求解基本思想对分法将有根区间进行对分,判断出解在某个分段内,然后再对该段对分,依次类推,直到满足给定的精度为止。适用范围求有根区间内的单根或奇重实根。数学原理:介值定理设f(x)在[a,b]上连续,且f(a)f(b)<0,则由介值定理可得,在(a,b)内至少存在一点使得f()=0。具体步骤对分法设方程在区间[a,b]内连续,且f(a)f(b)<0,给定精度要求,若有

3、f(x)

4、<,则x就是我们所需要的f(x)在区间(a,b)内的近似根。......Matlab程序见fulu1.m收敛性分析对分法收敛性设方程的根为x*(ak

5、,bk),又,所以0(k)对分法总是收敛的但对分法的收敛速度较慢通常用来试探实根的分布区间, 或给出根的一个较为粗糙的近似。根据上面的算法,我们可以得到一个每次缩小一半的区间序列{[ak,bk]},在(ak,bk)中含有方程的根。迭代法基本思想构造f(x)=0的一个等价方程:从某个近似根x0出发,计算得到一个迭代序列k=0,1,2,......(x)的不动点f(x)=0x=(x)等价变换f(x)的零点若收敛,即,假设(x)连续,则收敛性分析迭代法的收敛性即注:若得到的点列发散,则迭代法失效!定义:迭代法收敛性判断定理2:如果定理1的

6、条件成立,则有如下估计如果存在x*的某个邻域=(x*-,x*+),使得对x0开始的迭代xk+1=(xk)都收敛,则称该迭代法在x*附近局部收敛。定理1:设x*=(x*),的某个邻域内连续,且对x都有

7、’(x)

8、q<1,则对x0,由迭代xk+1=(xk)得到的点列都收敛。迭代法收敛性判断定理3:已知方程x=(x),且(1)对x[a,b],有(x)[a,b];(2)对x[a,b],有

9、’(x)

10、q<1;q越小,迭代收敛越快’(x*)越小,迭代收敛越快则对x0[a,b],由迭代xk+1=

11、(xk)得到的点列都收敛,且迭代法收敛性判断以上所给出的收敛性定理中的条件的验证都比较困难,在实际应用中,我们常用下面不严格的判别方法:当有根区间[a,b]较小,且对某一x0[a,b],

12、’(x0)

13、明显小于1时,则我们就认为迭代收敛普通迭代法参考程序见fulu2.m迭代法的加速设迭代xk+1=(xk),第k步和第k+1步得到的近似根分别为xk和(xk),令其中wk称为加权系数或权重。得新迭代xk+1=(xk)加权系数wk的确定:令’(x)=0得松弛迭代法松弛法迭代公式:松弛法具有较好的加速效果,甚至有些不收敛的迭代,加速后也

14、能收敛。缺点:每次迭代需计算导数参考程序见fulu4.mAltken迭代法Altken迭代法用差商近似微商设x*是方程的根,则由中值定理可得Altken迭代法Altken迭代公式k=0,1,2,......Altken法同样具有较好的加速效果参考程序见fulu5.m牛顿迭代法令:基本思想:用线性方程来近似非线性方程,即采用线性化方法设非线性方程f(x)=0,f(x)在x0处的Taylor展开为牛顿法迭代公式牛顿迭代公式k=0,1,2,......牛顿法的收敛速度令牛顿法至少二阶局部收敛当f’(x*)0时’(x*)=0(x)即为牛顿法的

15、迭代函数参考程序见fulu6.m牛顿法迭代公式牛顿的优点牛顿法是目前求解非线性方程(组)的主要方法至少二阶局部收敛,收敛速度较快,特别是当迭代点充分靠近精确解时。牛顿的缺点对重根收敛速度较慢(线性收敛)对初值的选取很敏感,要求初值相当接近真解在实际计算中,可以先用其它方法获得真解的一个粗糙近似,然后再用牛顿法求解。Matlab解方程函数roots(p):多项式的所有零点,p是多项式系数向量。fzero(f,x0):求f=0在x0附近的根,f可以使用inline、字符串、或@,但不能是方程或符号表达式!solve(f,v):求方程关于指定自变

16、量的解,f可以是用字符串表示的方程、符号表达式或符号方程;solve也可解方程组(包含非线性);得不到解析解时,给出数值解。linsolve(A,b):解线性方程组。其他Matl

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

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

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