首页 黄金分割法

黄金分割法

举报
开通vip

黄金分割法黄金分割法 在进退法的基础上增加以下程序: Private Sub HJfgf(X0() As Double, S() As Double, A As Double, B As Double, epslf As Double, epslx As Double, n As Integer, aBest As Double, fmin As Double, x() As Double) '(黄金分割法子程序) Const Q = 0.618 Dim j As Integer, i As Integer Di...

黄金分割法
黄金分割法 在进退法的基础上增加以下程序: Private Sub HJfgf(X0() As Double, S() As Double, A As Double, B As Double, epslf As Double, epslx As Double, n As Integer, aBest As Double, fmin As Double, x() As Double) '(黄金分割法子程序) Const Q = 0.618 Dim j As Integer, i As Integer Dim A1 As Double, A2 As Double Dim f1 As Double, f2 As Double ' Dim x() As Double ' ReDim x(n) j = 0 Do j = j + 1 A1 = B - Q * (B - A) For i = 1 To n x(i) = X0(i) + A1 * S(i) Next i f1 = F(x()) A2 = A + Q * (B - A) For i = 1 To n x(i) = X0(i) + A2 * S(i) Next i f2 = F(x()) Do If f1 > f2 Then A = A1 A1 = A2 f1 = f2 A2 = A + Q * (B - A) For i = 1 To n x(i) = X0(i) + A2 * S(i) Next i f2 = F(x()) Else B = A2 A2 = A1 f2 = f1 A1 = B - Q * (B - A) For i = 1 To n x(i) = X0(i) + A1 * S(i) Next i f1 = F(x()) End If j = j + 1 If j > 50 Then Exit Do Loop Until Abs((f2 - f1) / f2) <= epslf If Abs((A2 - A1) / A1) > epslx Then A = A1 B = A2 End If Loop Until Abs((A2 - A1) / A1) <= epslx If f1 < f2 Then aBest = A1 fmin = f1 Else aBest = A2 fmin = f2 End If For i = 1 To n x(i) = X0(i) + aBest * S(i) Next i End Sub Private Sub cmdHJ_click() '(主程序) Dim T0 As Double Dim epslf As Double, epslx As Double Dim aBest As Double Dim fmin As Double Dim x() As Double Dim i As Integer n = 2 ReDim X0(1 To n), x(1 To n) ReDim S(1 To n) X0(1) = 2 X0(2) = 2 S(1) = 0.707 S(2) = 0.707 epslf = 0.001 epslx = 0.001 T0 = 1 kf = 0 Call JinTui(X0, S, n, T0, A, B) MsgBox "A=" & A & "B=" & B & "kf=" & kf Call HJfgf(X0, S, A, B, epslf, epslx, n, aBest, fmin, x) MsgBox "aBest=" & aBest & "fmin=" & fmin & "kf=" & kf For i = 1 To n MsgBox "x(" & i & ")=" & x(i) Next i End Sub
本文档为【黄金分割法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_589748
暂无简介~
格式:doc
大小:15KB
软件:Word
页数:4
分类:生活休闲
上传时间:2017-09-20
浏览量:25