解多项式方程的修正牛顿法的改进

合集下载

解多项式方程的修正牛顿法的改进

解多项式方程的修正牛顿法的改进

+√ 阶 收 敛 的导 数 超 前 计 值 的 变 形 Ne tn迭 代 和 导 数 滞 后 计 值 的 变 形 Ne o 2 wo wtn迭 代 ; 阶 收 敛 的 三
Haly迭 代 、 e y h v迭 代 、 u e— l y迭 代及 其 变 形 ; 阶 收敛 的 J rat 迭代 等 等 . l e Ch b s e S p rHal e 四 art 型 而牛 顿 法 是
的值 , 了这个 数值 , I ( ) “ 有 F ; 4 求 的数值 就很 方便 , X 而且 这是 每一 步迭 代 的主
要 计算量 , 以式 ( )的计算 量 没有增 加多 少 的情 况 下 , 敛 速度 却 提 高 了 一 阶 , 所 5 收 由原来 的 3阶 提高 到 4 阶. 在此 还是从 “ 出发 , 将对 它进 行另一 种变 形 , 也就 是用 C e yh v迭代 法对式 ( ) 一次改 进 : hb se 3作

种常 见 的数值 方 法 , 大量 文献 讨论 了牛顿 法 的各 种 改 进 , 包括 用 于 求 解 多项 式 方 程 的 变形 , 出 了一 个 提
同时决 定 次 多项 式 个 单 根 的迭代 法 . 个迭 代 法实 际上 是对 牛 顿法 的一个修 正 , ]这 后来 又 有人 对此修 正 的迭 代法 进行 各 种各 样 改进 _ ] 有 的是用 牛 顿法 对修 正 的牛 顿法 作 一 次 改进 , 的是 利 用 迭代 法 本 身 4 , 有
关 键 词 :牛 顿 法 ; 代 ; 正 ; 进 ; 敛 迭 修 改 收
中 图分 类号 : 4 1 02 . MS 2 0 : 5 5 C 0 0 6 Y0 文 献 标 志 码 :A
0 引 言
众 所 周知 , 项式 方程 的求解 有很 多应 用 背 景 , 解 多 项 式 方 程 的算 法 问 题 已经 引起 人 们 的广 泛 重 多 求 视 , 理论 和数 值 解法 上都 对 它做 了大量 研究 . 在 国外 的一 些 研 究工 作 者 做 了系统 介 绍 , 同时 国内 的许 多 数 值 工作 者 也从 不 同角度 做 了研 究 , 多项 式 的迭 代求 解 已经 有 了丰厚 的成 果 , 多项 式零 点 的求解 理论 开 对 为 辟 了新 领域 , 出 了巨大贡 献 _ ] 几 种代 表 性 的迭 代 法 有 : 典 的二 阶收 敛 的 Ne o 做 】. 经 wtn型迭 代 ; 用 的 l 实

牛顿迭代法的改进格式及其收敛阶

牛顿迭代法的改进格式及其收敛阶

北京化工大学
硕士学位论文
牛顿迭代法的改进格式及其收敛阶
姓名:薛雅萍
申请学位级别:硕士
专业:应用数学
指导教师:吴开谡
20080509
牛顿迭代法的改进格式及其收敛阶
作者:薛雅萍
学位授予单位:北京化工大学
相似文献(1条)
1.期刊论文薛雅萍.吴开谡.刘晓晶.XUE Ya-ping.WU Kai-su.LIU Xiao-jing求解非线性算子方程的梯形牛顿法-
应用泛函分析学报2009,11(1)
在Banach空间中研究非线性算子方程F(x)=0的近似求解问题.首先,把实函数数值积分的梯形公式推广到非线性泛函的Bochner积分中来,得到Bochner积分的梯形公式;然后,利用这一公式来构造牛顿迭代法的变形格式,从而得到梯形牛顿法,并在弱条件的α-判据下借助于优函数技巧证明了它的收敛性.
本文链接:/Thesis_Y1267202.aspx
授权使用:北京理工大学(北京理工大学),授权号:65f9b949-4cf2-404e-b961-9e3d01544d51
下载时间:2010年11月29日。

关于改进牛顿迭代求根公式的探讨

关于改进牛顿迭代求根公式的探讨

关于改进牛顿迭代求根公式的探讨
近几年来,随着互联网技术的发展和快速成熟,牛顿迭代法在解决复杂非线性
问题方面受到了广泛应用,其理论基础也逐步深入人心。

牛顿迭代法是一种以求极值为基本目的,以函数在某一点的切线和切线上的斜率为基础的迭代搜索迭代方法。

牛顿迭代法的准确度取决于所选定的初始迭代点,因此在提高牛顿迭代法准确度方面有很多可值得探讨的地方。

为了提高牛顿迭代法的准确性,改善该迭代法的精确性,可以通过改进以下几
个方面来实现:
第一,改善初始迭代点的选择。

牛顿迭代法的正确性依赖于迭代前的初始猜的,所以正确的和操作的初始猜的在很大程度上决定了得到正确结果的准确性。

可以通过机器学习和统计学的方式,选择更合适的初始迭代点。

第二,改善迭代步长的选择。

牛顿迭代法迭代步长应当与解的特征有关,如果
迭代步长不恰当,会影响牛顿迭代法的准确性,所以应当根据解的特征来选择更合适的迭代步长。

第三,增强联立方程组求解方法的无误差性,联立方程组在牛顿迭代法中发挥
着重要作用,如果解联立方程组错误,就会影响牛顿迭代法的准确性,因此应当使用一个更准确的解联立方程组的方法,提升联立方程组求解的准确性。

以上就是关于改进牛顿迭代求根公式的探讨,从提升初始迭代点选择,改进迭
代步长选择,增强联立方程组求解方法的无误差性三个方面应该重点改进,以提升牛顿迭代求根公式的准确性。

鞭挞脚一方,可以让牛顿迭代法在解决非线性复杂问题上发挥更好的效果。

牛顿迭代法的一种改进方法

牛顿迭代法的一种改进方法

第30卷第5期 佛山科学技术学院学报(自然科学版) Vol.30No.5 2012年9月 Jo ur nal of Fo shan University(Natural Science Edition)Sep.2012文章编号:1008-0171(2012)05-0001-03牛顿迭代法的一种改进方法陈玉骥(佛山科学技术学院环建学院,广东佛山528000)摘要:牛顿迭代法是求解非线性方程的一种常用方法,该法对初值要求较高,只具有局部收敛性。

在牛顿迭代法的基础上,通过调整非线性方程对应曲线切线的斜率,从而保证在取任意初值时,迭代均可收敛,有效改善了牛顿迭代法对初值的苛刻要求。

关键词:牛顿迭代法;非线性方程;初值;斜率中图分类号:O242.23 文献标志码:A工程上,不少实际问题的数学模型都涉及到非线性方程f(x)=0的求解。

由于工程问题对应的方程f(x)=0大多不存在求根公式,因此确定精确解十分困难。

故近似解的计算成为人们关心的主要问题。

目前,人们已提出了不少求解非线性方程f(x)=0近似解的方法[1-8],其中,牛顿迭代法是最基本的方法之一。

由于牛顿迭代法在方程的单根附近具有平方收敛速度,而且还可以求解方程的重根和复根,故该法得到了广泛应用。

但牛顿迭代法对初值的要求较苛刻,只有适当选取初值,才能保证其收敛性。

为保证牛顿迭代法局部收敛,必须对f(x)和初值附加如下条件[9]:(1)f(x)在区间[a,b]上二阶可导;(2)f(a)f(b)<0;(3)f′(x)≠0;(4)f″(x)在区间[a,b]上不变号;(5)初值x0∈[a,b]应使f″(x0)f(x0)>0。

其中,条件(1)、(2)保证了方程f(x)=0根的存在性;条件(3)表示函数单调变化,则方程的根惟一;条件(4)表示函数f(x)的图形凸凹向不变;条件(5)是对初值的要求。

只要满足以上条件,就可保证牛顿迭代法的收敛性。

但当表达式f(x)很复杂时,确定f(x)导数的计算量很大,且求出f″(x)的表达式非常复杂,要满足条件(3)、(4)比较困难。

改进的高斯牛顿法

改进的高斯牛顿法

改进的高斯牛顿法高斯-牛顿法是牛顿法的特例,用于寻找函数的最小值。

而改进的高斯-牛顿法则是在高斯-牛顿法的基础上进行了一些改进,以提高其计算效率和精度。

具体来说,改进的高斯-牛顿法引入了信赖区域的概念,在求解增量Δ x k \Delta {x_k}Δxk时,对其设置了信赖区域。

通过求得增量Δ x k \Delta {x_k}Δxk对其近似效果进行了量化,并根据量化结果对信赖区域进行调整,再从新计算增量Δ x k \Delta {x_k}Δxk,直到近似效果量化结果达到阈值。

此外,改进的高斯-牛顿法还引入了阻尼项,以更好地处理病态问题。

阻尼项的作用是限制步长的大小,避免算法陷入局部最优解,从而提高算法的全局搜索能力。

总的来说,改进的高斯-牛顿法是一种有效的方法,能够提高计算效率和精度,并能够更好地处理病态问题。

牛顿法和改进的高斯牛顿法都是求解无约束最优化问题的方法,但它们在实现方式和收敛速度上存在一些差异。

牛顿法是一种基于目标函数的二阶导数信息进行迭代的方法。

它通过构造一个二次函数来逼近目标函数,并利用牛顿迭代公式求解该二次函数的根,从而得到目标函数的极小值点。

牛顿法的收敛速度较快,但需要计算目标函数的二阶导数信息,计算量较大。

改进的高斯牛顿法是在牛顿法的基础上进行了一些改进。

它利用目标函数的雅可比矩阵和海塞矩阵的关系,将目标函数表示为一个线性函数的转置,从而避免了计算海塞矩阵,减少了计算量。

同时,改进的高斯牛顿法引入了阻尼项和信赖区域的概念,以更好地处理病态问题和提高全局搜索能力。

总的来说,改进的高斯牛顿法在计算量和全局搜索能力方面优于牛顿法,但牛顿法的收敛速度可能更快。

在实际应用中,可以根据问题的特性和需求选择合适的方法。

改进的Newton法解决二次优化问题

改进的Newton法解决二次优化问题

最优化理论与算法实验报告(三)实验名称 改进的Newton 法解决二次优化问题 实验时间姓名专业班级学号成绩一、实验目的和内容实验目的:通过实验, 让学生掌握改进的Newton 法解决优化问题的具体实现, 同时对于具体的问题设计, 让学生根据在实验中出现的数值计算结果,. 理解改进的Newton 法的基本思想. 实验内容:(问题同实验二) 请采用改进的Newton 法求解2221212min ()33n x f x x x x x ∈=+-终止的准则610k g -≤, 分别用如下不同的初时结点进行迭代. 1. ()0 1.5,1.5Tx =, 2. ()02,4Tx =-, 3. ()00,3Tx =二、相关背景知识介绍一、Goldstein —Price (1967) 修正方案:当k G 非正定时, 采用最速下降方向k g -替代牛顿方向. 若进一步将搜索方向与负梯度方向的角度准则结合起来, 则有if cos , elseN Nk k k k k d d g d g η⎧-≥⎪=⎨-⎪⎩其中: 1N k k k d G g -=-,二、Goldfeld (1966) 修正方案若k G 非不正定, 则用k k k G G v I =+来修正k G . 通过适当选取0k v >, 可以使k G 正定. 三、代码牛顿改进算法代码:function re=New(x,Gk,var,n) e=10^n; xk=x;gk=fgk(@f,xk,1); t=[1;0]; k=0;while(norm(gk)>e)mGk=subs(Gk,var,xk);if((t'*mGk*t)>0)[L U]=lu(mGk);dk=U\(L\-gk);xk=xk+dk;gk=fgk(@f,xk,1);k=k+1;elsee=diag(mGk);f1=min(diag(mGk));f1=0.01-f1;E=eye(length(e));mGk=mGk+f1.*E;[L U]=lu(mGk);dk=U\(L\-gk);xk=xk+dk;gk=fgk(@f,xk,1);k=k+1;endend计算梯度的函数:function gk=fgk(f,xk,h)if(h==1)t=f(xk);xk(1)=xk(1)+1;gk(1,1)=f(xk)-txk(1)=xk(1)-1;xk(2)=xk(2)+1;gk(2,1)=f(xk)-t;end初始化函数:syms x1 x2var=[x1,x2];f=3*x1^2+3*x2^2-x1^2*x2;A=jacobian(f,var);e=jacobian(A,var);Gk=e;n=-12;x=[0;0];目标函数:function r=f(x)r=3*x(1)^2+3*x(2)^2-x(1)^2*x(2)四、数值结果X=[-2;4] K=2 Xk=[-4.8087;3.0196]X=[1.5;1.5] K=12 Xk=[-0.5;-0.4583]五、计算结果的分析与New法相互比较,在X=[1.5;1.5]处的迭代次数并未下降,反倒是在鞍点X=[-2;4]处的迭代次数减少了不少,可视为将鞍面做了一个稍稍的倾斜,加快了下降速度。

牛顿法的改进

对牛顿法的一种改进摘要:本文是对牛顿法的研究并结合最速下降法思想提出的一种牛顿法的改进,并且给出了具体的算法、计算步骤以及matlab 程序.牛顿法的优点是不低于二阶的收敛速度,但是牛顿法也有一些缺点.一是可能出现Hesse 矩阵奇异的情形,因此不能确定后继点;二是即使Hesse 矩阵非奇异,也未必正定,因而牛顿方向不一定是下降方向,这就可能导致算法失败.把牛顿法和最速下降法结合,对牛顿法进行修正,就可以克服上述缺点,并保留了牛顿法的优点[1]. 关键词:牛顿法;最速下降法;Hesse 矩阵1引言牛顿法最初由艾萨克·牛顿发表在《流数法》(Method of Fluxions ,1671年完成,在牛顿死后的1736年公开发表).它是一种在实数域和复数域上近似求解方程的方法.在最优化问题中也具有非常重要的地位,可以用牛顿法求解一般无约束问题.牛顿法的基本思想是迭代点处的一阶导数和二阶导数对目标函数进行二次函数近似,然后再把二次函数的极小值点作为新的迭代点,并且不断地重复这一过程,最后直至求得满足精度的近似极小值点.但是,牛顿法并不是很完美的,它存在着一些不足,首先必须保证函数的二阶导数存在,再有就是即使二阶导数存在,也可能出现Hesse 矩阵未必正定的情形,如过Hesse 矩阵未必正定,搜索方向不是下降方向,这就导致算法失败.所以,很有必要对牛顿法进行修正,克服上述的缺点.本文把牛顿法和最速下降法结合起来,对牛顿法进行修改,形成了一种新的算法.不但保留了牛顿法的优点,还克服了牛顿法的不足.文章的第一部分简单介绍牛顿法和最速下降法,第二部分给出新的算法,第三部分用具体实例验证新的算法.2最速下降法和牛顿法最速下降法是法国数学家Cauchy 于1847年提出的.后来,Curry 等人又对最速下降法做了进一步的的研究,现在的最速下降法已成为最优化中非常经典的算法了.k x最速下降法的迭代公式是(1)()()k k k k x x d λ+=+()k d 是从()k x 出发的搜索方向,最速下降法的搜索方向()k d 是在()k x 处的最速下降方向,即()()()k k d f x =-∇k λ是()k x 沿()k d 方向进行一维搜索的步长,并且k λ满足()()()(0()m i n ()k k k k k k f x d f x d λλλ≥+=+ 给出最速下降法的计算步骤:步0:选取初始点0x R ∈,允许误差01ε<,令1k =.步1:计算搜索方向()()()k k d f x =-∇,若()k d ε<停止运算,输出()k x 作为最优近似值步2:确定步长k λ,使()()()()0()min ()k k k k k k f x d f x d λλλ≥+=+ 步3:令(1)()()k k k k x x d λ+=+,令1k k =+,转步1最速下降法有一个缺点就是存在锯齿现象,它是反映目标函数的一个局部性质.从局部来看,选择最速下降方向确实是下降最快的方向,但是从全局来看,由于存在锯齿现象,会使收敛速度大大减慢,所以,最速下降法只适用于前期迭代或者作为间插步骤.下面再介绍一下牛顿法,牛顿法的迭代公式为(1)()2()1()()()k k k k x x f x f x +-=-∇∇其中2()1()k f x -∇是Hesse 矩阵的逆矩阵.给出牛顿法的计算步骤步0:给定终止误差值01ε<,初始点0x R ∈,令0k =步1:计算()()k k g f x =∇,若k g ε<,停止运算,输入()k x 作为近似值. 步2:计算2()()k k G f x =∇,并求解线性方程组的解k d ,即k k G d g =-步3:令(1)()k k k x x d +=+,1k k =+,转步1我们已经知道,牛顿法的缺点是首先必须保证函数的二阶导数存在,再有就是即使二阶导数存在,也可能出现Hesse 矩阵未必正定的情形,如过Hesse 矩阵未必正定,搜索方向不是下降方向,算法失败!所以就需要对牛顿法进行修正.3牛顿法的改进我们知道牛顿法要求在每一个迭代点处的Hesse 矩阵必须是正定的,否则,就难以保证在迭代点处的搜索方向是下降的,为了克服这一缺点,就必须对牛顿法进行修正,可以和最速下降法进行结合,构造一种新的算法----最速下降牛顿法.它的基本思想是:如果在迭代点()k x 的Hesse 矩阵2()()k f x ∇正定时,就用牛顿法进行迭代,因为牛顿法是二阶收敛的,收敛速度比较快.反之,如果在迭代点()k x 的Hesse 矩阵2()()k f x ∇奇异或者即使的Hesse 矩阵非奇异,但牛顿方向不是下降方向时,就采用负梯度方向作为搜索方向,此时也就是最速下降法.这样就解决了牛顿法的上述缺点.下面给出最速下降牛顿法的计算步骤:步0:给定终止误差值01ε<,初始点0x R ∈,令0k =步1:计算()()k k g f x =∇,若k g ε<,停止运算,输入()k x 作为近似值. 步2:计算2()()k k G f x =∇,并求解线性方程组0k k G d g +=,如果方程组有解,并且0T k k g d <,转步3;否则令k k d g =-,转步3.步3:确定步长k λ,使()()()()0()min ()k k k k k k f x d f x d λλλ≥+=+ 步4:令(1)()k k k k x x d λ+=+,1k k =+,转步1.因为最速下降牛顿法就是最速下降法与牛顿法的结合.最速下降法以及牛顿法的证明可参见文献[2],在此不再赘述.4实例验证实践是检验真理的唯一标准.给出了一个新的算法,我们就要用实例来验证它的效果是否令人满意,如果不令人满意还需要再次修改.例1用阻尼牛顿法求解下列问题:421122min ()(1)f x x x x x =+++取初始点为(1)(0,0)T x =,我们可以求出在初始点(1)x 处的梯度和Hesse 矩阵分别为(1)()[0,2]Tf x ∇=,2(1)01()12f x ⎡⎤∇=⎢⎥⎣⎦,所以牛顿方向为1(1)2(1)1(1)0102()()1220d f x f x ---⎡⎤⎡⎤⎡⎤=-∇∇=-=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 所以Hesse 矩阵非正定,不可以用阻尼牛顿法进行求解,在matlab 上用阻尼牛顿法求解的结果是在点*[2,0]x =-处取得最小值*()17f x =,很显然,点*x 不是最小值.用最速下降牛顿法可以进行求解,在matlab 上求解可得在*[0,1]x =-处取得最小值,最小值为*() 1.0000e-012f x =,迭代次数为6次.这样就解决了牛顿法中Hesse 矩阵非正定的情况.5结论把最速下降法和牛顿法结合使用,不仅可以保留牛顿法二阶收敛的优点,还可以克服牛顿法Hesse 矩阵非正定的情况,使牛顿法在实际生活中有了更广泛的应用.牛顿法是最优化算法中非常经典的算法,随着科学的发展,以后肯定还会出现对牛顿法更好的修改方法,我相信,在不久大的将来,牛顿法定将成为数学史上一颗闪耀的明星.参考文献:[1] 陈宝林.最优化理论与算法[M].北京:清华大学出版社,2005:287-291[2] 马昌凤. 最优化方法及其Matlab 程序设计[M].北京:科学出版社,2010:32-40[3] 张菊亮,陈剑.两个快速一维搜索方法[C].中国运筹学会第七届学术交流会论文集(上卷).香港:Global-Link 出版社,2004:59-64附录matlab程序阻尼牛顿法:function [x,val,k]=znnd(fun,gfun,Hess,x0)%功能:用阻尼牛顿法求解无约束问题:minf(x)%输入:x0是初始点,fun,gfun,Hess分别是求目标函数值,梯度,hess阵的函数%输出:x,val,分别是近似最优点和最优值,k是迭代次数.maxk=100 %给出最大迭代次数rho=0.55;sigma=0.4;k=0;epsilon=1.0e-5;while(k<maxk)gk=feval(gfun,x0);%计算梯度Gk=feval(Hess,x0);%计算hess阵dk=-Gk\gk;%解方程组Gk*dk=-gk,计算搜素方向if(norm(gk)<epsilon) %检验终止准则break;endm=0;mk=0;while(m<20) %用Armijo搜索步长if(feval(fun,x0+rho^m*dk)<feval(fun,x0)+sigma*rho^m*gk'*d k)mk=m;breakendm=m+1;endx0=x0+rho^mk*dk;k=k+1endx=x0;val=feval(fun,x)最速下降牛顿法:function [x,val,k]=zsxjnd(fun,gfun,Hess,x0)%功能:用最速下降牛顿法求解无约束问题:minf(x)%输入:x0是初始点,fun,gfun,Hess分别是求目标函数值,梯度,hess阵的函数%输出:x,val,分别是近似最优点和最优值,k是迭代次数.maxk=100 %给出最大迭代次数rho=0.55;sigma=0.4;k=0;epsilon=1.0e-5;while(k<maxk)gk=feval(gfun,x0);%计算梯度Gk=feval(Hess,x0);%计算hess阵dk=-Gk\gk;if (gk)'*dk<0dk=dk;else dk=-gk;end;%解方程组Gk*dk=-gk,计算搜索方向if(norm(gk)<epsilon) %检验终止准则break;endm=0;mk=0;while(m<20) %用Armijo搜索步长if(feval(fun,x0+rho^m*dk)<feval(fun,x0)+sigma*rho^m*gk'*d k)mk=m;breakendm=m+1;endx0=x0+rho^mk*dk;k=k+1endx=x0;val=feval(fun,x)。

改进牛顿法

第3节改进牛顿法改进牛顿法改进牛顿法只是在牛顿拉夫法的基础上通过适当近似,对雅可比矩阵进行一定的改动,即改变每次迭代的步长。

由于其收敛判据未变,所有计算结果误差很小。

这里先做两点假设:(1)相邻两节点的电压差很小,因为配电网线路较短,且输送功率不大,这一假设可以成立;(2)没有对地支路(并联电容器组),如果有,则可以看作恒定节点负载,这样,所有对地支路都可以通过初始电压及修正后的电压值转化为节点注入功率。

常规牛顿法中对电压量(状态变量)的修正为:J U S ⋅∆=∆ (7—4)采用极坐标的形式:/HN P JL U U Q θ∆∆⎛⎫⎛⎫⎛⎫⋅= ⎪ ⎪ ⎪∆∆⎝⎭⎝⎭⎝⎭(7—5) 其中:(s i n c o s i j i j i j i j i j i jH U U G B θθ=-- i ≠ j 1(s i n c o s )j nij i j ij ij ij ij j j i H U U G B θθ==≠=-∑i = j (c o s s i n i j i j i j i j i j i jN U U G B θθ=-+i ≠ j21(c o s s i n )2j n ij i j ij ij ij ij i ij j j i N U U G B U G θθ==≠=-+-∑ i = j(c o s s i n i j i j i j i j i j ij J U U G B θθ=+ i ≠ j1(c o s s i n )j n ij i j ij ij ij ij j j i J U U G B θθ==≠=-+∑ i = j(s i n c o s i j i j i j i j i j i j L U U G B θθ=-- i ≠ j 21(s i n c o s )2j n ij i j ij ij ij ij i ij j j i L U U G B U B θθ==≠=--+∑ i = j(7—6)由于相邻节点电压近似相等,且有 1()nij ij ij ii j j iG jB G j jB =≠+=-+=∑对于没有对地支路的系统,雅可比阵可近似写成:1111cos cos cos cos cos cos cos ij i j ij ij j nij i j ij ijj j i ij i j ij ij j nij i j ij ijj j i ij i j ij ij j nij i j ij ijj j i ij i j ij ij j nij ij j ij ijj j i H U U B i j H U U B i j N U U G i j N U U G i j J U U G i j J U U G i j L U U B i j L U U G i θθθθθθθθ==≠==≠==≠==≠≈≠≈-=≈-≠≈=≈≠≈=≈≠≈-=∑∑∑∑j(7—7)从公式(2-7)中可以近似看出,矩阵 N 、H 、L 、J 与节点导纳阵 Y 有相同的特性:对称性、系数性,可改写成如下形式:11Tn B n H L A D A --==11Tn G n J H A D A --=-=(7—8)其中,B D 、G D 为对角阵,对角元素分别为cos i j ij ij U U B θ和sin i j ij ij U U G θ,1111/Tn B G nT n G B n A D D P A A D D U U Q A θ-----⎛⎫∆∆⎛⎫⎛⎫⎛⎫⎛⎫⋅⋅⋅= ⎪ ⎪ ⎪ ⎪ ⎪∆∆⎝⎭⎝⎭⎝⎭⎝⎭⎝⎭ (7—9)如果将节点重新编号,平衡节点号为 0,其余节点号按距离平衡节点之远近分层,重新编号,则1n A - (节点-支路关联矩阵)为一个上三角阵,对角元素为 1,非零非对角元素为-1。

改进牛顿法程序设计

改进牛顿法程序设计
要改进牛顿法程序设计,可以考虑以下几个方面:
1. 初始值选择:通过合理选择初始值,可以避免收敛到局部极小值点的情况。

可以考虑使用其他优化方法来预估一个较好的初始值,然后再使用牛顿法进行迭代。

2. 迭代终止条件:可以设置更加精确的终止条件,例如达到一定的迭代次数或者目标函数值的变化足够小。

这样可以避免无限循环的情况出现。

3. 步长选择:可以使用线搜索方法或者拟牛顿方法来确定每次迭代的步长,以保证迭代过程更快地收敛。

4. 收敛性检验:在每一次迭代过程中,可以对牛顿法的收敛性进行检测,如果发现不收敛,则可以进行一些修正,例如使用梯度下降法进行下一次迭代。

5. 并行计算:可以将迭代过程进行并行计算,加快求解速度。

例如,可以使用多线程或者GPU等技术来并行处理。

6. 多元函数的求解:将牛顿法扩展到多元函数的求解。

可以通过计算Hessian矩阵的逆来求解多元函数的极小值。

通过以上改进,可以提高牛顿法的求解效率和收敛性,使其更适用于实际问题的求解。

改进的Newton法解决二次优化问题

if(h==1)
t=f(xk);
xk(1)=xk(1)+1;
gk(1,1)=f(xk)-t
xk(1)=xk(1)-1;
xk(2)=xk(2)+1;
gk(2,1)=f(xk)-t;
end
初始化函数:
syms x1 x2
var=[x1,x2];f=3*x1^2+3*x2^2-x1^2*x2;
A=jacobian(f,var);e=jacobian(A,var);
当 非正定时, 采用最速下降方向 替代牛顿方向. 若进一步将搜索方向与负梯度方向的角度准则结合起来, 则有
其中: ,
二、Goldfeld (1966) 修正方案
若 非不正定, 则用 来修正 . 通过适当选取 , 可以使 正定.
3、代码
牛顿改进算法代码:
function re=New(x,Gk,var,n)
Gk=e;
n=-12;
x=[0;0];
目标函数:
function r=f(x)
r=3*x(1)^2+3*x(2)^2-2
Xk=[-4.8087;3.0196]
X=[1.5;1.5]
K=12
Xk=[-0.5;-0.4583]
5、计算结果的分析
与New法相互比较,在X=[1.5;1.5]处的迭代次数并未下降,反倒是在鞍点X=[-2;4]处的迭代次数减少了不少,可视为将鞍面做了一个稍稍的倾斜,加快了下降速度。在算法本身上做了不少改进,曾将使用过mGk=mGk+(f1+E);但效果却不及mGk=mGk+f1.*E;好。
else
e=diag(mGk);
f1=min(diag(mGk));
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0

引 言
众所周知, 多项式方程的求解有很多应用背景 , 求解多项式方程的算法问题已经引起人们的广泛重
视, 在理论和数值解法上都对它做了大量研究 . 国外的一些研究工作者做了系统介绍 , 同时国内的许多数 值工作者也从不同角度做了研究, 对多项式的迭代求解已经有了丰厚的成果, 为多项式零点的求解理论开 辟了新领域, 做出了巨大贡献[ 1, 2] . 几种代表性的迭代法有 : 经典的二阶收敛的 N ew t on 型迭代 ; 实用的 1 + 2 阶收 敛的导数 超前计值 的变形 New t on 迭代 和导数 滞后计 值的变 形 New to n 迭代 ; 三 阶收敛 的 H alley 迭代、 Cheby shev 迭代、 Super - H alley 迭代及其变形; 四阶收敛的 Jarrat t 型迭代等等 . 而牛顿法是 一种常见的数值方法 , 大量文献讨论了牛顿法的各种改进 , 包括用于求解多项式方程的变形, 提出了一个 同时决定 n 次多项式 n 个单根的迭代法[ 3] . 这个迭代法实际上是对牛顿法的一个修正, 后来又有人对此修 正的迭代法进行各种各样改进 [ 4, 5] , 有的是用牛顿法对修正的牛顿法作一次改进, 有的是利用迭代法本身 作自我修正等等 . 设有多项式方程 : f ( x ) = x + an- 1 x 其中 r i 是多项式方程的 n 个根, 且 r i X r j ( i X j ) . 解多项式方程( 1) 的牛顿法为:
k+ 1 n k k
266
杭州师范大学学报( 自然科学版)
2008 年
收敛速度更快, 在计算机的算法实现上也更容易. 但初值的不适当的选取不能保证此迭代法的收敛性 . 对 此, 文献[ 4] 对其进行了进一步改进, 其迭代法为: uj = x j k k
f ( xk j ) f c( x k j ) f ( xk i) k f c( x i )
( 4)
k 现将式( 3) 中的 x k j 用 u j 代替, 则得到进一步改进的牛顿法: k+ 1 k
xi
= xi -
f (x k i) k f c( x i )
1-
j= 1 j Xi
E
n
1 k k x i - uj
( 5)
事实上, 此迭代法是由迭代式 ( 3) 与牛顿法结合产生的, 先比较式 ( 3) 和式 ( 5 ) , 无论这两个式子中的 f (xk j ) 哪一个都需要计算 的值, 有了这个数值, 用式( 4) 求 u k j 的数值就很方便 , 而且这是每一步迭代的主 k f c( x j ) 要计算量 , 所以式( 5 ) 的计算量没有增加多少的情况下, 收敛速度却提高了一阶, 由原来的 3 阶提高到 4 阶. 在此还是从 u k j 出发 , 将对它进行另一种变形 , 也就是用 Cheby shev 迭代法对式 ( 3) 作一次改进: gj = x j k j k j k -1 k j ) f c( x j ) 1+ 1 Lf (xk f (xj ) 2 k -1 k -1 Lf ( x k j ) = f c( x j ) f d( x k j ) f c( x j ) f ( xk j ) k k
k
i 1 - f ( x k) f c( x i )
k
j= 1 j Xi
E
n
1 k xk i - xj
( 3)
式( 3 ) 是没有用到 2 阶导数且三阶收敛的迭代法, 此迭代式同样可同时决定多项式方程的全部根, 且
收稿日期 : 2008 -04 -01 作者简介 : 苗 慧 ( 1982 ) ) , 女 , 山东枣庄人 , 助教 , 硕士 , 主要从事数值与迭代方面的研究 .
n
k i
- ri ) ( rj - g j ) ] [ ( x i - rj ) ( x i - g j ) ]
2 k
k
k
k
k
( 10)
设 g j 是由式( 6) 确定, 则存在与 j , k 无关的常数 m, D> 0, 且满足 m D < 1 , 使得 P x j I O( r j ,
k k 3 j > 0, m j > 0, 且 m j D j < 1, 当 | x j 因为 Chebyshev 迭代法是三阶收敛的, 所以对每一个 j , v D 2 k k 3 k 2
( 6) ( 7)
现将式( 3) 中的 x 用 g 代替 , 得到另一种改进的牛顿法:
1 x k+ i = xk i -
f (xk i) k f c( x i )
1-
f (xk i) k f c( x i )
k
j= 1 j Xi
E
n
1 k k x i - gj
( 8)
事实上, 此迭 代法是用 Chebyshev 迭代法对式 ( 3) 中的 x j 作了 一次修正 , 即式 ( 8) 是由式 ( 3) 同 Cheby shev 迭代法结合产生的, 此迭代法的收敛速度比式 ( 5) 还要高, 而且在计算机的算法实现上也较容 易, 下面将讨论此迭代法的收敛性及其证明.
0
显然 0 < q < 1, 从而有 | B i | [
d . s
k k 假设 | B i | [ d ( i = 1, 2, ,, n) 成立, 即 x i I O( r j , d) , 其中迭代次数 k \ 0 , 则由引理 1 知 s k 3 | r j - gk j | [ m | x j - rj | .
第 7 卷第 4 期 2008 年 7 月
杭州师范大学学报 ( 自然科学版 )
Journal of Hangzhou N ormal University( Natural Science Edit ion)
V ol. 7 N o. 4 Jul. 2008
文章编号 : 1674- 232X ( 2008) 04- 0265- 04
1 k -1 x k+ i = xk i - f c( x i ) f (xk i ) i = 1 , 2, ,, n, k = 0, 1, , n n- 1
+ , + a1 x + a0
( 1)
( 2)
牛顿法具有二阶的收敛性 , 文献[ 3 ] 对其进行变形为 : xi
k+ 1
= xi -
k
f (xi ) f c( x k i)
慧 : 解多项式方程的修正牛顿法的改进
267
交的 , 则由式( 8 ) 产生的序列 { x j } k= 0 收敛于 r j , 且收敛阶至少为 5. 0 d [ D 0 s - 1d , 由引理 1 证明 由题意知 | B 0 i | = | x i - ri | [ , | x0 i - r j | = | x i - r i + ri - rj | \ s s
记 d = 1m in { | r i - r j | } 为任意两根之间的最短距离, 为了定理的证明 , 下面引入引理 2. [ j[ n 引理 2 存在正数 s 满足 : sD \ d, s \ md , ( s - 1 ) ( s - 2) > 2( n- 1) , 其中 m, D为引理 1 中确定的
| A | [
0 i
j= 1 j Xi
E
n
| Bi | m | B j | s- 1d s - 2d s s
0
0
3
[
j= 1 j Xi 1
E
n
1 n- 1 1 n- 1 p = < ,令 p = ,q= . ( s- 1) ( s- 2) ( s- 1) (s - 2) 2 ( s- 1) ( s- 2) 1- p | Ai | 0 0 | Bi | [ q | Bi | [ 1 - | A0 i |
1
主要引理
现将式( 8) 两边同时减去 r i , 将式 ( 8) 改写成:
1 B k+ i = k 式中 , B k i = x i - r i , i = 1, 2, ,, n, k = 0 , 1, ,
Ai Bk i 1+ A k i
k
( 9)
Ai = 引理 1
k k
k
j= 1 j Xi
E [ (x
解多项式方程的修正牛顿法的改进
苗 慧
( 浙江长征职业技术学院 基础部 , 浙江 杭州 310023)

要 : 该文提出了一个求解多项式方程 n 个单根的 方法 , 从最 常见的 数值方法 牛顿法 出发 , 在修 正后的
牛顿法基础上用 Chebyshev 迭代 法对其进行改进 , 使改进后的迭代法由原来的 4 阶收敛提高到 至少 5 阶 . 关键词 : 牛顿法 ; 迭代 ; 修正 ; 改进 ; 收敛 中图分类号 : O 24. 1 MSC2000: 65Y05 文献标志码 : A
所以有: | Ak i | [ | Bi 即有 x i
k+ 1 k+ 1 j= 1 j Xi
E
n
k 3 ms 2 | B k i | | Bj | 1 2 [ p < ( s - 1) ( s - 2) d 2 k
( 11) ( 12)
| [
| Ai | k k d | Bi | [ q | Bi | [ 1- | A k i | s
k+ 1 i 2
f (x k i) = x f '( x k i)
k i
f (xk i) 1k f '( x i )
k+ 1
j= 1
E
k
- 1 i
1 k + 1 + xi - gk j
1 k j= i+ 1 x - g j
相关文档
最新文档