📄 牛顿插值.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 7725
ClientLeft = 60
ClientTop = 450
ClientWidth = 6435
LinkTopic = "Form1"
ScaleHeight = 7725
ScaleWidth = 6435
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton cmdjisuan
Caption = "牛顿插值计算"
Height = 495
Left = 2040
TabIndex = 6
Top = 6720
Width = 2175
End
Begin VB.CommandButton cmdY
Caption = "输入Y(i)"
Height = 495
Left = 4320
TabIndex = 5
Top = 5640
Width = 1215
End
Begin VB.CommandButton cmdX
Caption = "输入X(i)"
Height = 495
Left = 600
TabIndex = 4
Top = 5640
Width = 1215
End
Begin VB.TextBox Text2
Height = 375
Left = 2880
TabIndex = 3
Top = 6120
Width = 1215
End
Begin VB.TextBox Text1
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 360
Left = 2880
TabIndex = 1
Top = 5655
Width = 1215
End
Begin VB.Label Label2
Caption = "X:"
Height = 495
Left = 2640
TabIndex = 2
Top = 6240
Width = 1215
End
Begin VB.Label Label1
Caption = "输入n:"
Height = 495
Left = 2280
TabIndex = 0
Top = 5760
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim x() As Single, y() As Single
Dim n As Integer
Private Sub cmdjisuan_Click()
Dim n As Integer
Dim f() As Single
n = Val(Text1.Text)
ReDim f(0 To n)
Dim i As Integer, j As Integer, k As Integer
Dim x0 As Single, Nn As Single, s As Single
x0 = Val(Text2.Text)
Nn = y(0)
For j = 0 To n '置f(j) = y(j)
f(j) = y(j)
Next j
For i = 1 To n '计算各阶插商
For k = n To i Step -1
f(k) = (f(k) - f(k - 1)) / (x(k) - x(k - i))
Next k
Next i
For i = 1 To n '插值计算
s = 1
For j = 0 To i - 1
s = s * (x0 - x(j))
Next j
s = s * f(i)
Nn = Nn + s
Next i
Print "牛顿插值的结果为" & Nn
End Sub
Private Sub cmdX_Click()
Dim i As Integer
n = Val(Text1.Text)
If n = 0 Then '判断输入的次数
MsgBox ("请输入正确的次数n")
Exit Sub
End If
ReDim x(0 To n)
For i = 0 To n '输入x(i)并显示在窗体上
x(i) = InputBox("请输入X(" & i & ")")
CurrentX = 500
CurrentY = 200 * i
Print "X(" & i & ") =" & x(i) '将结果打印在窗体上
Next i
End Sub
Private Sub cmdY_Click()
Dim j As Integer
n = Val(Text1.Text)
If n = 0 Then '判断输入的次数
MsgBox ("请输入正确的次数n")
Exit Sub
End If
ReDim y(0 To n)
For j = 0 To n '输入x(i)并显示在窗体上
y(j) = InputBox("请输入Y(" & j & ")")
CurrentX = 4500
CurrentY = 200 * j
Print "Y(" & j & ") =" & y(j)
Next j
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -