文档详情

非线性方程和线性方程的数值解.pdf

发布:2017-10-22约1.03万字共19页下载文档
文本预览下载声明
非线性方程的几种数值解法 郭摇 摘要 :现在许多科学理论和工程技术问题都最终要化成非线性方程 f x =0 F x =0 () 或非线性方程组 () 的求解。对于非线性方程的数值 解法有很多种,如二分法,简易牛顿法,斯蒂芬森迭代法,牛顿迭: 代法,割线法等。 关键字非线性方程,数值解法: 1.概述 电脑硬件基本配置,处理器:Intelcorei3-380M,双核,主频 2.53GHZ DDR3 2GB 320GB.Matlab7.0 内存: , 内存,硬盘: 版本。 在许多科学与工程问题总需要求解一个非线性方程: F(x)=0 ()1 F(x) F(x) 1 的根,其中 是连续的非线性函数,当 为多项式时,方程 () F(x) x 1 是代数方程;当 为 的超越函数时,上述( )是超越方程,对 于非线性方程,求它的解析解有时很困难甚至不可能,因此选择数值 方法来求它的近似解,即数值解。 2.几种非线性方程的数值解法 2.1二分法 在求解非线性方程近似跟的方法中最简单最直观的方法是二分法, 二分法有称对分法。 f x [a,b] f(a)f(b)0 二分法基本思路:若 ()在 上连续,且有 ,则有 零点定理知,存在一点 使得c x∈ (a,b),使得f (c)=0。 二分法的算法: 1)取初始有更区间[a,b],满足f(a)f(b)0,以及相应的精度要求ε。 2)若(b-a)/2ε,则停止计算。 3)否则取x=(b-a)/2,如果f (a)f (b)0,b=x;否则a=x,转到步骤2。 基本代码如下: functiony=second2(x0,x1,tol) symsxf; f=input(输入函数形式fx=); e=x1-x0;k=0; %b=eval(b);a=eval(a); tic whileetol x=x0; m=eval(f); %x=b; %n=eval(fun); c=(x0+x1)/2; x=c; n=eval(f); if m*n0 x1=c; elseif m*n0 x0=c; else x0=c;x1=c end e=e/2;k=k+1; end x=(x0+x1)/2; x%x为答案 k%k为次数 toc 2.2 牛顿迭代法 在求解非线性方程f(x)=0时,困难在于f(x)是非线性 ,为了克 服这一困难,考虑它的线性展开。 基本思路:设当前点X,在X 处 Taylor展开式为: k k f(X)≈f(X)+f (X)(X-X) (2) k k k 令f(X)=0,可以得到方程的近似方程: f(X)+f (X)(X-X)=0 k k k 当f (X)≠0,解其方程得到: k X =X-f(X)/f (X) k=0,1,2 (3)
显示全部
相似文档