?? frprmn.txt
字號:
Sub FRPRMN(P(), N, FTOL, ITER, FRET)
ITMAX = 200
EPS = 0.0000000001
Dim G(550), H(50), XI(50)
FP = FUNC2(P(), N)
Call DFUNC(P(), XI())
For J = 1 To N
G(J) = -XI(J)
H(J) = G(J)
XI(J) = H(J)
Next J
For ITS = 1 To ITMAX
ITER = ITS
Call LINMIN(P(), XI(), N, FRET)
If 2# * Abs(FRET - FP) <= FTOL * (Abs(FRET) + Abs(FP) + EPS) Then
Exit For
End If
FP = FUNC2(P(), N)
Call DFUNC(P(), XI())
GG = 0#
DGG = 0#
For J = 1 To N
GG = GG + G(J) ^ 2
'DGG = DGG + XI(J) ^ 2 'Polak-Ribiere 法
DGG = DGG + (XI(J) + G(J)) * XI(J) 'Fletcher-Reeves 法
Next J
If GG = 0# Then Exit For
GAM = DGG / GG
For J = 1 To N
G(J) = -XI(J)
H(J) = G(J) + GAM * H(J)
XI(J) = H(J)
Next J
Next ITS
If ITC > ITMAX Then Print " FRPR maximum iterations exceeded"
Erase XI, H, G
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -