非线性方程组-最速下降法(梯度法)

合集下载

最速下降法——精选推荐

最速下降法——精选推荐

最速下降法1.最速下降⽅向函数f(x)在点x处沿⽅向d的变化率可⽤⽅向导数来表⽰。

对于可微函数,⽅向导数等于梯度与⽅向的内积,即:Df(x;d) = ▽f(x)Td,因此,求函数f(x)在点x处的下降最快的⽅向,可归结为求解下列⾮线性规划:min ▽f(x)Tds.t. ||d|| ≤ 1当 d = -▽f(x) / ||▽f(x)||时等号成⽴。

因此,在点x处沿上式所定义的⽅向变化率最⼩,即负梯度⽅向为最速下降⽅向。

2.最速下降算法最速下降法的迭代公式是x(k+1) = x(k) + λkd(k) ,其中d(k)是从x(k)出发的搜索⽅向,这⾥取在x(k)处的最速下降⽅向,即d = -▽f(x(k)).λk是从x(k)出发沿⽅向d(k)进⾏⼀维搜索的步长,即λk满⾜f(x(k) + λkd(k)) = min f(x(k)+λd(k)) (λ≥0).计算步骤如下:(1)给定初点x(1) ∈ Rn,允许误差ε> 0,置k = 1。

(2)计算搜索⽅向d = -▽f(x(k))。

(3)若||d(k)|| ≤ ε,则停⽌计算;否则,从x(k)出发,沿d(k)进⾏⼀维搜索,求λk,使f(x(k) + λkd(k)) = min f(x(k)+λd(k)) (λ≥0).(4)令x(k+1) = x(k) + λkd(k) ,置k = k + 1,转步骤(2)。

共轭梯度法1.共轭⽅向⽆约束问题最优化⽅法的核⼼问题是选择搜索⽅向。

以正定⼆次函数为例,来观察两个⽅向关于矩阵A共轭的⼏何意义。

设有⼆次函数:f(x) = 1/2 (x - x*)TA(x - x*) ,其中A是n×n对称正定矩阵,x*是⼀个定点,函数f(x)的等值⾯1/2 (x - x*)TA(x - x*) = c是以x*为中⼼的椭球⾯,由于▽f(x*) = A(x - x*) = 0,A正定,因此x*是f(x)的极⼩点。

设x(1)是在某个等值⾯上的⼀点,该等值⾯在点x(1)处的法向量▽f(x(1)) = A(x(1) - x*)。

用最速下降法求解无约束非线性规划问题

用最速下降法求解无约束非线性规划问题

运筹学实习报告姓名: xxxxxxxxxx 学号: xxxxxxxxxxx 专业班级: xxxxxxxxxxxx 2 0 1 3年 7 月 0 4 日题目:用最速下降法求解无约束非线性规划问题 摘要:无约束最优化问题的求解方法分为解析法和直接法两大类。

解析法需要计算函数的梯度,其中最速下降法就属于解析法中的一种。

对于一个无约束非线性规划利用最速下降法求解,首先需要确定其优化方向,此优化方向应该选择为f 在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。

本文通过理论的计算方法,进一步分析,最后用c++编程实现求出允许误差内的最优解。

此编程可用于计算符合下列形式的函数求最优解过程:f(x)=a[0]x1*x1+a[1]x2*x2+a[2]x1*x2+a[3]x1+a[4]x2+a[5]其中:a[i] (i=0,1,2,3,4,5) 为函数的系数。

本文以“ 李占利 主编,中国矿业大学出版社出版”的《最优化理论与方法》 第五章 “无约束最优化方法,5.1 最速下降法 ”例5—1为实例,首先利用上述迭代的方法,计算出各迭代点的函数值,梯度及其模。

然后应用c++语言编程,得到在精度范围内的精确最优解。

C++编程计算的最优解为 : T x x ]0329218.0,00823045.0[)3(*-==。

即转化为分数结果为:⎥⎦⎤⎢⎣⎡-==412432)3(*x x 。

满足精度要求的模为:1010736154.0||||)3(=<=εp 。

关键词:无约束非线性规划 解析法 最速下降法 梯度 模 最优解一、算法思想无约束最优化方法中的最速下降法首先需要确定其优化方向,此优化方向应该选择为f 在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。

梯度下降优化算法

梯度下降优化算法

梯度下降优化算法综述,梯度下降法梯度下降法是什么?梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最陡下降法。

要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。

如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。

梯度下降一般归功于柯西,他在1847年首次提出它。

Hadamard在1907年独立提出了类似的方法。

HaskellCurry在1944年首先研究了它对非线性优化问题的收敛性,随着该方法在接下来的几十年中得到越来越多的研究和使用,通常也称为最速下降。

梯度下降适用于任意维数的空间,甚至是无限维的空间。

在后一种情况下,搜索空间通常是一个函数空间,并且计算要最小化的函数的Fréchet导数以确定下降方向。

梯度下降适用于任意数量的维度(至少是有限数量)可以看作是柯西-施瓦茨不等式的结果。

那篇文章证明了任意维度的两个向量的内(点)积的大小在它们共线时最大化。

在梯度下降的情况下,当自变量调整的向量与偏导数的梯度向量成正比时。

修改为了打破梯度下降的锯齿形模式,动量或重球方法使用动量项,类似于重球在被最小化的函数值的表面上滑动,或牛顿动力学中的质量运动在保守力场中通过粘性介质。

具有动量的梯度下降记住每次迭代时的解更新,并将下一次更新确定为梯度和前一次更新的线性组合。

对于无约束二次极小化,重球法的理论收敛速度界与最优共轭梯度法的理论收敛速度界渐近相同。

该技术用于随机梯度下降,并作为用于训练人工神经网络的反向传播算法的扩展。

梯度下降算法是指什么神经网络梯度下降法是什么?梯度下降法是一个最优化算法,通常也称为最速下降法。

最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现已不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的。

最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢。

非线性规划理论和算法

非线性规划理论和算法

非线性最优化理论与算法第一章引论本章首先给出了一些常见的最优化问题和非线性最优化问题解的定义,并且根据不同的条件对其进行了划分。

接着给出了求解非线性优化问题的方法,如图解法等,同时又指出一个好的数值方法应对一些指标有好的特性,如收敛速度与二次终止性、稳定性等。

随后给出了在非线性最优化问题的理论分析中常用到的凸集和凸函数的定义和有关性质。

最后给出了无约束优化最优性条件。

第二章线搜索方法与信赖域方法无约束优化的算法有两类,分别是线搜索方法和信赖域方法。

本章首先给出了两种线搜索方法即精确线搜索方法和非精确线搜索方法。

线搜索方法最重要的两个要素是确定搜索方向和计算搜索步长,搜索步长可确保下降方法的收敛性,而搜索方向决定方法的收敛速度。

精确线搜索方法和非精确线搜索方法对于精确线搜索方法,步长ακ满足αk=arg minƒx k+αd kα≥0这一线搜索可以理解为αk是f(x k+αd k)在正整数局部极小点,则不论怎样理解精确线搜索,它都满足正交性条件:d k T∇ƒ(x k+αk d k)=0但是精确搜索方法一般需要花费很大的工作量,特别是当迭代点远离问题的解时,精确的求解问题通常不是有效的。

而且有些最优化方法,其收敛速度并不依赖于精确搜索过程。

对于非精确搜索方法,它总体希望收敛快,每一步不要求达到精确最小,速度快,虽然步数增加,则整个收敛达到快速。

书中给出了三种常用的非精确线搜索步长规则,分别是Armijo步长规则、Goldstein步长规则、Wolfe步长规则。

第一个步长规则的不等式要求目标函数有一个满意的下降量,第二个不等式控制步长不能太小,这一步长规则的第二式可能会将最优步长排除在步长的候选范围之外,也就是步长因子的极小值可能被排除在可接受域之外。

但Wolfe步长规则在可接受的步长范围内包含了最优步长。

在实际计算时,前两种步长规则可以用进退试探法求得,而最后一种步长规则需要借助多项式插值等方法求得。

最速下降法原理及例题实例

最速下降法原理及例题实例

−1 1
=
G
αk
=
g1d1 + g2d2 3d12 + d22 − 2d1d2
[ ] [ ] 取 X (1) = (0, 0)T ,则 ∇f ( X (1) ) = −2, 0 T ,所以 d (1) = −∇f ( X (1) ) = 2, 0 T ,
因此
α1
=
22 3× 22
=
1 3
[ ] [ ] X (2) = X (1) + α1d (1) =
=
1 + 4x1 + 2x2 −1+ 2x1 + 2x2
∂(x2 )
∇f
(X
(1) )
=
1 −1
令搜索方向 d (1)
=
−∇f
(X
(1) )
=
−1 1
再从
X
(1) 出发,沿
d (1) 方向作一维寻优,令
步长变量为 λ
,最优步长为 λ1 ,则有
X
(1)
+
λd (1)
=
0 0
+
λ
−1 1
min f ( X ) = (x1 − 2)4 + (x1 − 2x2 )2
其中 X = (x1, x2 )T ,要求选取初始点 X 0 = (0, 3)T ,终止误差 ε = 0.1.
解:因
∇f ( X ) = [4(x1 − 2)3 + 2(x1 − 2x2 ), −4(x1 − 2x2 )]T
∇f (x∗ ) = 0源自(二)最速下降法的基本思想和迭代步骤
最速下降法又称为梯度法,是 1847 年由著名数学家 Cauchy 给出的。他是解析法中最古老的一 种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础。

matlab 最速下降迭代路径

matlab 最速下降迭代路径

一、Matlab最速下降迭代路径介绍Matlab是一款强大的数学软件工具,其中包含了各种数学工具箱,用于解决不同领域的数学问题。

最速下降迭代路径是其中的一个重要工具,用于求解非线性方程组或最优化问题。

二、最速下降迭代路径原理1.首先介绍最速下降法的思想:即在迭代过程中,每次选取下降方向时选择负梯度方向,使得目标函数值下降最快。

2.最速下降法的迭代公式:x^(k+1) = x^k - α * ∇f(x^k),其中x^k 为迭代的当前点,α为步长,∇f(x^k)为目标函数在x^k点的梯度。

三、Matlab中最速下降迭代路径的函数及使用方法1.在Matlab中,可以使用fminunc函数来实现最速下降迭代路径。

其用法为[fval, x] = fminunc(fun, x0, options),其中fun为目标函数的句柄,x0为迭代的初始点,options为优化选项。

2.在使用fminunc函数时,需注意定义目标函数的句柄,并设定合适的初始点和优化选项,以确保得到准确的最速下降迭代路径。

四、最速下降迭代路径的应用实例以一个简单的非线性方程组为例:f(x) = x^2 + 2y^2,其中目标是求解该方程组的最小值。

通过Matlab最速下降迭代路径,可以求解该方程组的最小值点。

五、总结与展望最速下降迭代路径是一种常用的非线性方程组求解方法,Matlab中的fminunc函数提供了便捷的实现途径。

今后,我们可以进一步深入研究不同类型问题下的最速下降迭代路径,并探索更多有效的数值计算方法。

以上是关于Matlab最速下降迭代路径的简要介绍,希望能为您提供一些帮助。

感谢阅读!最速下降迭代路径是一种常用的优化方法,广泛应用于解决非线性方程组和优化问题。

在Matlab中,最速下降迭代路径的实现通过fminunc函数来完成。

在本文中,我们将进一步探讨最速下降迭代路径的原理、Matlab中的具体使用方法以及其应用实例。

让我们更深入地了解最速下降迭代路径的原理。

非线性方程组-最速下降法(梯度法)

非线性方程组-最速下降法(梯度法)

⾮线性⽅程组-最速下降法(梯度法)梯度法(⼜名,最速下降法)(该法总可以收敛,但是,在接近真解时收敛的速度会放慢。

) 梯度法⼜称为最速下降法,⽤于求解实系数⾮线性⽅程组12(,,,)0,1,2,,i n f x x x i n== (7-15)的⼀组根。

梯度法⾸先是定义⼀个⽬标函数212121(,,,)(,,,)nn i n i x x x f x x x =Φ=∑(7-16)使⽬标函数21nii f =Φ=∑达到最⼩的12,,,n x x x 是我们寻找的⼀组解,这是⾮线性最⼩⼆乘法问题。

如果第(0,1,2,)k k = 步求得⼀组解12,,,nk k k x x x ,使得12(,,,)n k k kx x x εΦ< (7-17)则认为12,,,nk k k x x x 是原⽅程组满⾜⼀定精度的()ε要求的⼀组解。

梯度法的计算过程是:(1)先给定⼀组不全为零的初值12000,,,nx x x ,第k 步的⼀组根为12,,,nk k kx x x ;(2)计算⽬标函数12(,,,)nk k k x x x Φ的值;(单独⼦程序:fn =TargetFunction)(3)若12(,,,)nk k k x x x εΦ< ,则认为12,,,nk k k x x x 是满⾜⼀定精度()ε的⼀组解,否则,作如下修正计算1α+=?Φ=-?iki ik k ki ix x x x x (7-18)其中121212*********1111222(,,,)(,,,)(,,,)(,,,)(,,,)(,,,)(,,,)*,1,2,,α==?Φ=Φ ? ?Φ+-Φ?Φ=??Φ+-Φ?Φ=Φ+-Φ?Φ===∑ n kj jn n n n n n k k kkn j j x x k k k k k kk k k k k k k k k k k kn n nki i x x x x x h x x x x x x h x x h x x x x x h x x x h x x x x h h H x i n(7-19)H 为控制收敛的常数,通常选为(10-5~10-6),收敛精度ε选为(10-6~10-8)。

非线性最优化计算方法与算法

非线性最优化计算方法与算法

毕业论文题目非线性最优化计算方法与算法学院数学科学学院专业信息与计算科学班级计算1201学生陶红学号20120921104指导教师邢顺来二〇一六年五月二十五日摘要非线性规划问题是一般形式的非线性最优化问题。

本文针对非线性规划的最优化问题进行方法和算法分析。

传统的求解非线性规划的方法有最速下降法、牛顿法、可行方向法、函数逼近法、信赖域法,近来研究发现了更多的求解非线性规划问题的方法如遗传算法、粒子群算法。

本文对非线性规划分别从约束规划和无约束规划两个方面进行理论分析。

利用最速下降法和牛顿法两种典型算法求解无约束条件非线性规划问题,通过MATLAB程序求解最优值,探讨其收敛性和稳定性。

另外给出了阻尼牛顿法,探讨其算法的收敛性和稳定性,求解无约束非线性规划比牛顿法的精确度更高,收敛速度更快。

惩罚函数是经典的求解约束非线性的方法,本文采用以惩罚函数法为核心的遗传算法求解有约束条件非线性规划问题,通过MATLAB程序求解最优值,探讨其收敛性和稳定性。

并改进遗传算法,给出适应度函数,通过变换适应度函数,提高算法的收敛性和稳定性。

关键词:非线性规划;最速下降法;牛顿法;遗传算法ABSTRACTNonlinear programming problem is the general form of the nonlinear optimization problem. In this paper, we carry on the analysis of the method and algorithm aiming at the optimization problem of nonlinear programming. The traditional methods of solving nonlinear programming problems include steepest descent method, Newton method, the feasible direction method, function approximation method and trust region method. Recent studies found more method of solving nonlinear programming problems, such as genetic algorithm, particle swarm optimization (pso) algorithm. In this paper, the nonlinear programming is analyzed from two aspects: the constraint programming and the unconstrained programming.We solve unconstrained condition nonlinear programming problem by steepest descent method and Newton's method, and get the optimal value through MATLAB. Then the convergence and stability are discussed. Besides, the damped Newton method is furnished. By discussing the convergence and stability of the algorithm, the damped Newton method has higher accuracy and faster convergent speed than Newton's method in solving unconstrained nonlinear programming problems.Punishment function is a classical method for solving constrained nonlinear. This paper solves nonlinear programming problem with constraints by using genetic algorithm method, the core of which is SUMT. Get the optimal value through MATLAB, then the convergence and stability are discussed. Improve genetic algorithm, give the fitness function, and improve the convergence and stability of the algorithm through transforming the fitness function.Key words:Nonlinear Programming; Pteepest Descent Method; Newton Method; GeneticAlgorithm目录摘要 (I)ABSTRACT .......................................................................................................................... I I 1 前言 .. (4)1.1 引言 (4)1.2 非线性规划的发展背景 (5)1.3 国内外研究现状 (5)1.4 研究主要内容及研究方案 (6)1.4.1 研究的主要内容 (6)1.4.2 研究方案 (6)1.5 研究难点 (7)2 预备知识 (8)2.1 向量和矩阵范数 (8)2.1.1 常见的向量范数 (8)2.1.2 谱范数 (9)2.2符号和定义 (9)2.3 数值误差 (10)2.4 算法的稳定性 (10)2.5 收敛性 (12)3 非线性规划模型 (13)3.1 非线性规划模型 (13)3.2 无约束非线性规划 (14)3.2.1 最速下降法 (16)3.2.2 牛顿法 (18)3.2.2 阻尼牛顿法 (18)3.3 约束非线性规划 (20)3.3.1 惩罚函数法 (21)3.3.2 遗传算法 (21)3.3.3 自适应遗传算法 (22)结论 (26)参考文献 (27)致谢 (28)附录 (29)1 前言1.1 引言我们知道最优化是一门很古老的求极值问题,最优化在求解线性规划,非线性规划,随机规划,多目标规划,非光滑规划,整数规划,几何规划等方面研究得到迅速发展。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

梯度法(又名,最速下降法)
(该法总可以收敛,但是,在接近真解时收敛的速度会放慢。

) 梯度法又称为最速下降法,用于求解实系数非线性方程组
12(,,,)0,
1,2,,i n f x x x i n
== (7-15)
的一组根。

梯度法首先是定义一个目标函数
2
12121
(,,,)(,,,)
n
n i n i x x x f x x x =Φ=

(7-16)
使目标函数2
1
n
i
i f =Φ=

达到最小的12,,,n x x x 是我们寻找的一组解,这是非
线性最小二乘法问题。

如果第(0,1,2,)k k = 步求得一组解1
2
,,,n
k k k x x x ,使得
12(,,,)n k k k
x x x ε
Φ< (7-17)
则认为1
2
,,,n
k k k x x x 是原方程组满足一定精度的()ε要求的一组解。

梯度法的计算过程是:
(1)先给定一组不全为零的初值1
2
000,,,n
x x x ,第k 步的一组根为1
2
,,,n
k k k
x x x ;
(2)计算目标函数1
2
(,,,)n
k k k x x x Φ 的值;(单独子程序:fn =TargetFunction)
(3)若1
2
(,,,)n
k k k x x x εΦ< ,则认为1
2
,,,n
k k k x x x 是满足一定精度()ε的一组
解,否则,作如下修正计算
1
α
+=∂Φ=-∂i
k
i i
k k k
i i
x x x x x (7-18)
其中
121212*********
1111222
(,,,)
(,,,)(,,,)(,,,)(,,,)(,,,)(,,,)*,1,2,,α
==⎫Φ=
⎪⎛⎫
⎪∂Φ ⎪ ⎪
∂⎝⎭Φ+-Φ∂Φ=∂⎬Φ+-Φ∂Φ=
∂Φ+-Φ∂Φ
=
∂==∑ n k
j j
n n n n n n k k k
k
n j j x x k k k k k k
k k k k k k k k k k k k
n n n
k
i i x x x x x h x x x x x x h x x h x x x x x h x x x h x x x x h h H x i n ⎪⎪⎪
⎪⎪⎪⎪
⎪⎪⎪

⎪⎪⎪⎪⎪⎭
(7-19)
H 为控制收敛的常数,通常选为(10-5~10-6),收敛精度ε
选为(10-6~10
-8
)。

(4)重复修正1
k i
x +,直到
12111
(,,,)n k k k ε
+++ΦΦΦ< ,计算终止。

图7-3 最速下降法计算框图
对应的计算程序代码为C语言编程,据称该程序经Turboc 2.0编译通过。

/* grad1.c 程序段名称
A system of non-linear equations is solved by using gradient method
梯度法解非线性方程组例题
3*X1-cos(X2*X3)-0.5=0
X1^2-81*(X2+0.1)^2+sin(X3)+1.06=0
exp(-X1*X2)+20+X3+(10*PI-3)/3=0
#include<math.h> ‘主程序头,包含数学头<math.h >
main()
{int i , j ,n = 3; ‘定义整型数据,并给定方程个数,n 值
double y[4], x[4]={0.0,0.5,0.5,0.5}; ‘公用数据的定义,初始化根和变量
double eps = 1.e-08; ‘精度要求,以上数据在newton函数中需要用
newton(n,x,y,eps); ‘调用牛顿子程序
printf(“The solutions of non-linear equations\n”);‘制表、划线
pri_line(45);
(for (i=1; i<=n; i++) ‘显示迭代结果
printf(“ x%1d=%12.6f\tf%1d=%12.6E\n”,i,x[i],i,y[i]);
pri_line(45);
} …主程序段结束
double fn(n,x,y)‟定义函数fn(),计算目标函数值平方加和值并返回
int n; double x[], y[]; ‘公用数据接口有2个矩阵和n
{ int i; double s2=0.0; ‘定义数据,s2为目标函数加和
y[1]=3.0*x[1]-cos(x[2]*x[3]-0.5; ‘构建方程组,并求值
y[2]=x[1]*x[1]-81.0*(x[2]+0.1)*(x[2]+0.1)+sin(x[3])+1.06;
y[3]=exp(-x[1]*x[2]+20.0*x[3]+(10*M_PI-3.0)/3.0;
for (i=1; i<=n ; i++)
s2+= y[i]*y[i]; ‘计算目标函数值平方的加和
return(s2); ‘返回计算结果}
newton ( n, x, y, eps ) ‘牛顿子程序
int n; double x[ ], y[ ], eps; …公用数据申明,这些数据为已知
{ int i;
double s[4], s0, s1, s2, t, alpha, h=1.e-05; …自用数据定义
… s[4] = [ 1212(,,,)(,,,)
Φ+-Φ∂Φ=
∂ n n k k k k k k
n n
n
x x x h x x x x h ] 序列
… s0 = 12(,,,)
Φ n k
k
k
x x x
目标函数值 … s1 = 2
1==
⎛⎫
∂Φ ⎪ ⎪∂⎝⎭
∑k
j j
n
j j x x x =
s1+=s[i]*s[i]; … s2 =
12(,,,)
Φ+ n k k k
n x x x h
… t = x[i] 值的临时存放单元 …
122
1(,,,)α
==Φ==
⎛⎫∂Φ ⎪ ⎪∂⎝⎭
∑ n k
j j
k k k
k
n
j j x x x x x alpha x
while (1) ‘while do 循环体
{ s2 = fn(n,x,y); … 调用目标函数计算 s0 = s2; ‘保留k 值时的
12(,,,)
Φ n k
k
k
x x x
‘给新的目标函数值让位
if (s0<eps) break; ‘判断是否已经求解出了根
s1=0.0; …当未求解出根的时候继续迭代
for ( i=1; i<=n; i++) ‘for ()
{t = x[i]; …保留x (k) x[i] = (1.0+h)*t; ‘计算 (x i +h i )和s2,
*= k
i i
h H x ,
s2 = fn(n, x, y); …针对(x i +h)计算目标函数值 s[i] = (s2-s0) / (h*t); …s[ ]序列的值在循环体外要使用,
…所以要有固定的数组变量来存放
‘1212(,,,)(,,,)
Φ+-Φ∂Φ
=
∂ n n k k k k k k
n n
n
x x x h x x x x h 求导数值
s1+=s[i]*s[i]; …导数平方值加和=2
1==⎛⎫
∂Φ ⎪ ⎪∂⎝⎭
∑k
j j
n
j j x x x
x[i]=t; } ‘将新的赋给x (k+1), alpha = s0/s1; ‘得到alpha 新值 for (i=1; i<=n; i++) … 循环求向量序列 x[i] = x[i] - alpha*s[i] ; ‘得到修正后的x i 序列;
… 为再一次的调用fn( )做准备.
} …while do 循环终点
} …Newton( )结束 pri_line(int n) …划线子程序 { int i;
for (i=0 ; i<n ; i++)
printf(“%c”,0xc4);printf(“\n”); }。

相关文档
最新文档