简化的牛顿迭代法的MATLAB实现.doc

上传人:gs****r 文档编号:1869233 上传时间:2019-03-18 格式:DOC 页数:3 大小:103.50KB
下载 相关 举报
简化的牛顿迭代法的MATLAB实现.doc_第1页
第1页 / 共3页
简化的牛顿迭代法的MATLAB实现.doc_第2页
第2页 / 共3页
简化的牛顿迭代法的MATLAB实现.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1简化的牛顿迭代法的 MATLAB 实现摘要:牛顿迭代法是方程求根中的一种较快捷的迭代方法,但遇到较复杂的方程时计算量较大。本文采用了 MATLAB 编程来实现牛顿迭代法,并给出了具体的计算例子。 关键词:牛顿迭代法 MATLAB 编程 算法思想 1 问题的提出 牛顿迭代法收敛速度快,但每次都要求导,求逆,计算量相当大。为了减少计算量,引入简化的牛顿迭代法。 2 算法思想 以前我们解一元方程 f(x)=0 时采用过牛顿法,其几何意义是在根x*的附近取点 x0 作为方程的近似值,如图 1-1 所示,过曲线 y=f(x)上的点(x0,f(x0) )作切线,以它作为 y=f(x)的近似。切线与 x

2、轴的的交点 x1 作为根 x*的第二次近似,不断作下去,便得到迭代公式 xk+1=xk- k=0,1,2 当 f(x)满足一定条件下,迭代序列xk收敛到 x*。 解一元方程 f(x)=0 的牛顿法的主要思想是将非线性函数线性化。因此仿照一元方程的情形,就得到非线性方程组的牛顿迭代法。 令 则方程组 设(x1(k) ,x2(k) ,xn(k) )是方程组(2-1)的一组近似解,2把它的左端在(x1(k) ,x2(k) ,xn(k) )处用多元函数的泰勒展式展开,然后取线性部分,便得方程组(2-1)的近似方程组: 这是关于 xi(k)=xi-xi(k) (i=1,2,n)的线性方程组,如果它的系数

3、矩阵(见 2-3): 非奇异,则可解得(见 2-4): 矩阵(2-3)称为向量函数 F(x)的雅可比矩阵,记作 F(x) 。又记 x=xi+xi(k) 。 3 算法程序 其程序为: %ndf.m function ndf=ndf(x) clc; disp( MATLAB 编的简化牛顿迭代法程序 ) disp( 浙江机电职业技术学院机械工程学院 ) disp( - ) syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x=input(请以x1,x2,.的形式输入未知变量 x=) ; F=input(请以 ; ;.的形式输入非线形方程组的矩阵 F(x)=) ; x0=input(请以

4、行的形式输入未知变量的初始值 x0=) ; n=length(x) ;%确定未知变量的个数 3g=jacobian(F,x) ;%产生雅可比矩阵 F0=subs(F,x,x0) ;%给方程组的矩阵置初值 g0=subs(g,x,x0) ;%给雅可比矩阵置初值 if det(g0)=0; disp( 不符牛顿迭代法的条件!) break end 4 总结 牛顿迭代法收敛速度快,但要求导,求逆。计算的结果受初值,迭代次数(或精度要求)的影响比较大,如果求导后代入初值,如结果为零,则无法迭代。因而当求导后结果为零时,必须寻求另外的方法来计算。 参考文献: 1云磊.牛顿迭代法的 MATLAB 实现J.信息通信,2011(6). 2倪健,马昌凤.解非线性方程牛顿迭代法的一种新的加速技巧J.广西科学院学报,2010(1). 3王霞,张启虎.数值分析中牛顿迭代法的引入方法探讨J.天中学刊,2010(5).

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 学科论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。