📄 d12r9.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 6780
ClientLeft = 60
ClientTop = 345
ClientWidth = 6660
LinkTopic = "Form1"
ScaleHeight = 6780
ScaleWidth = 6660
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Left = 4920
TabIndex = 0
Top = 6120
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
'PROGRAM D12R9
'Driver for routine PZEXTR
'Feed values from a rational function
'Fn(x)=(1-x+x**3)/(x+1)**n
NV = 4
NUSE = 5
Dim YEST(4), YZ(4), DY(4)
For I = 1 To 10
IEST = I
XEST = 1# / CSng(I)
DUM = 1# - XEST + XEST ^ 3
For J = 1 To NV
DUM = DUM / (XEST + 1#)
YEST(J) = DUM
Next J
Call PZEXTR(IEST, XEST, YEST(), YZ(), DY(), NV, NUSE)
Print
Print Tab(5); "I= "; I
Print Tab(5); "Extrap. Function: ";
For J = 1 To NV
Print Tab(15 + J * 12); Format(YZ(J), ".#####0");
Next J
Print Tab(5); "Estimated Error: ";
For J = 1 To NV
Print Tab(15 + J * 12); Format(DY(J), ".#####0");
Next J
Next I
Print Tab(5); "Actual Values: "; Tab(27); "1.000000";
Print Tab(39); "1.000000"; Tab(51); "1.000000"; Tab(63); "1.000000"
End Sub
Sub PZEXTR(IEST, XEST, YEST(), YZ(), DY(), NV, NUSE)
Static X(11), QCOL(10, 7)
NCOL = 7
NMAX = 10
Dim D(10)
X(IEST) = XEST
For J = 1 To NV
DY(J) = YEST(J)
YZ(J) = YEST(J)
Next J
If IEST = 1 Then
For J = 1 To NV
QCOL(J, 1) = YEST(J)
Next J
Else
M1 = IEST
If IEST > NUSE Then M1 = NUSE
For J = 1 To NV
D(J) = YEST(J)
Next J
For K1 = 1 To M1 - 1
DELTA = 1# / (X(IEST - K1) - XEST)
F1 = XEST * DELTA
F2 = X(IEST - K1) * DELTA
For J = 1 To NV
Q = QCOL(J, K1)
QCOL(J, K1) = DY(J)
DELTA = D(J) - Q
DY(J) = F1 * DELTA
D(J) = F2 * DELTA
YZ(J) = YZ(J) + DY(J)
Next J
Next K1
For J = 1 To NV
QCOL(J, M1) = DY(J)
Next J
End If
Erase D
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -