牛顿迭代法-matlab程序(解线性方程组).doc

牛顿迭代法-matlab程序(解线性方程组).doc

ID:55174946

大小:23.50 KB

页数:4页

时间:2020-04-30

牛顿迭代法-matlab程序(解线性方程组).doc_第1页
牛顿迭代法-matlab程序(解线性方程组).doc_第2页
牛顿迭代法-matlab程序(解线性方程组).doc_第3页
牛顿迭代法-matlab程序(解线性方程组).doc_第4页
资源描述:

《牛顿迭代法-matlab程序(解线性方程组).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、牛顿迭代法matlab程序(解线性方程组)作者:佚名  来源:转载  发布时间:2009-3-716:55:53减小字体增大字体1.功能本程序采用牛顿法,求实系数高次代数方程f(x)=a0xn+a1xn-1+…+an-1x+an=0 (an≠0)    (1)的在初始值x0附近的一个根。2.使用说明(1)函数语句Y=NEWTON_1(A,N,X0,NN,EPS1)调用M文件newton_1.m。(2)参数说明An+1元素的一维实数组,输入参数,按升幂存放方程系数。N  整变量,输入参数,方程阶数。X0实变量,输入参数,初始迭代值。NN 整变量,输入参数,允许的最大迭代次数。EPS1

2、 实变量,输入参数,控制根的精度。3.方法简介解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数f(x)=f(x0)+(x-x0)fˊ(x0)+(x-x0)2+…取其线性部分,作为非线性方程f(x)=0的近似方程,则有f(x0)+fˊ(x0)(x-x0)=0设fˊ(x0)≠0则其解为x1=x0-f(x0)/fˊ(x0)再把f(x)在x1附近展开成泰勒级数,也取其线性部分作f(x)=0的近似方程。若f(x1)≠0,则得x2=x1-f(x1)/fˊ(x1)这样,得到牛顿法的一个迭代序列xn+1=xn-f(xn)/fˊ(xn)4.ne

3、wton_1.m程序functiony=newton_1(a,n,x0,nn,eps1)x(1)=x0;b=1;i=1;while(abs(b)>eps1*x(i))i=i+1;x(i)=x(i-1)-n_f(a,n,x(i-1))/n_df(a,n,x(i-1));b=x(i)-x(i-1);if(i>nn)error(ˊnnisfullˊ);return;endendy=x(i);i程序中调用的n_f.m和n_df.m文件如下:functiony=n_df(a,n,x)%方程一阶导数的函数y=0.0;fori=1:ny=y+a(i)*(n+1-i)*x^(n-i);endfun

4、ctiony=n_df(a,n,x)y=0.0;fori=1:ny=y+a(i)*(n+1-i)*xˆ(n-i);end5.程序附注(1)程序中调用n_f.m和n_df.m文件。n_f.m是待求根的实数代数方程的函数,n_df.m是方程一阶导数的函数。由使用者自己编写。(2)牛顿迭代法的收敛速度:如果f(x)在零点附近存在连续的二阶微商,ξ是f(x)的一个重零点,且初始值x0充分接近于ξ,那么牛顿迭代是收敛的,其收敛速度是二阶的,即平方收敛速度。6.例题用牛顿法求下面方程的根f(x)=x3+2x2+10x-20y=y+a(i)*(n+1-i)*x^(n-i);7.运行结果>>a=[

5、1,2,10,-20];>>n=3;>>x0=1;>>nn=1000;>>eps1=1e-8;>>y=newton_1(a,n,x0,nn,eps1)y=1.1373e+000i=6functionfp=newton_interpolation(x,y,p)%ScriptforNewton'sInterpolation.%MuhammadRafiullahArain%Mathematics&BasicSciencesDepartment%NEDUniversityofEngineering&Technology-Karachi%Pakistan.%---------%xandyar

6、etwoRowMatricesandpispointofinterpolation%%Example%>>x=[1,2,4,7,8]%>>y=[-9,-41,-189,9,523]%>>newton_interpolation(x,y,5)%OR%>>a=newton_interpolation(x,y,5)n=length(x);a(1)=y(1);fork=1:n-1d(k,1)=(y(k+1)-y(k))/(x(k+1)-x(k));endforj=2:n-1fork=1:n-jd(k,j)=(d(k+1,j-1)-d(k,j-1))/(x(k+j)-x(k));endend

7、dforj=2:na(j)=d(1,j-1);endDf(1)=1;c(1)=a(1);forj=2:nDf(j)=(p-x(j-1)).*Df(j-1);c(j)=a(j).*Df(j);endfp=sum(c);

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

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

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