牛顿迭代法上机2004830225115214.doc

上传人:夏** 文档编号:556537605 上传时间:2023-04-05 格式:DOC 页数:3 大小:27KB
返回 下载 相关 举报
牛顿迭代法上机2004830225115214.doc_第1页
第1页 / 共3页
牛顿迭代法上机2004830225115214.doc_第2页
第2页 / 共3页
牛顿迭代法上机2004830225115214.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《牛顿迭代法上机2004830225115214.doc》由会员分享,可在线阅读,更多相关《牛顿迭代法上机2004830225115214.doc(3页珍藏版)》请在金锄头文库上搜索。

1、牛顿迭代法1功能本程序采用牛顿法,求实系数高次代数方程f(x)=a0xn+a1xn-1+an-1x+an=(an ) (1)的在初始值x0附近的一个根。2.使用说明(1)函数语句Y=NEWTON_1(A,N,X0,NN,EPS1)调用M文件newton_1.m。(2)参数说明A n+1元素的一维实数组,输入参数,按升幂存放方程系数。N 整变量,输入参数,方程阶数。X0 实变量,输入参数,初始迭代值。NN 整变量,输入参数,允许的最大迭代次数。EPS1实变量,输入参数,控制根的精度。3方法简介解非线性议程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数

2、f(x)=f(x0)+(xx0)f(x0)+(xx0)2+取其线性部分,作为非线性方程f(x)=0的近似方程,则有f(x0)+f(x0)(xx0)=0设f(x0)0则其解为x1=x0f(x0)/f(x0)再把f(x)在x1附近展开成泰勒级数,也取其线性部分作f(x)=0的近似方程。若f(x1)0,则得x2=x1f(x1)/f(x1)这样,得到牛顿法的一个迭代序列xn+1=xnf(xn)/f(xn)4newton_1.m程序function y=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-

3、1)-n_f(a,n,x(i-1)/n_df(a,n,x(i-1);b=x(i)-x(i-1);if(inn)error(nn is full);return;endendy=x(i);i5程序附注(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-207运行结果a=1,2,10,-20;n=3;x0=1;nn=1000;eps1=1e-8;y=newton_1(a,n,x0,nn,eps1)y=1.368808107821373e+000i=6程序中调用的n_f.m和n_df.m文件如下:function y=n_f(a,n,x)y=0.0;for i=(n+1)(n+1)y=y+a(i)*x(n+1-i);endfunction y=n_df(a,n,x)y=0.0;for i=1:ny=y+a(i)*(n+-i)*x(n-i);end参考文献:张培强. MATLAB语言-演算纸式的科学工程语言. 合肥:中国科技大学出版社,1995

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号