📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
ClientHeight = 6720
ClientLeft = 60
ClientTop = 345
ClientWidth = 7845
LinkTopic = "Form1"
ScaleHeight = 6720
ScaleWidth = 7845
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text14
Height = 495
Left = 6480
TabIndex = 25
Text = "0.6868"
Top = 1560
Width = 975
End
Begin VB.TextBox Text13
Height = 495
Left = 6480
TabIndex = 24
Text = "1.0000"
Top = 600
Width = 975
End
Begin VB.TextBox Text12
Height = 735
Left = 1560
TabIndex = 23
Top = 6000
Width = 3975
End
Begin VB.TextBox Text11
Height = 855
Left = 2280
TabIndex = 21
Text = "0.25"
Top = 4320
Width = 2655
End
Begin VB.CommandButton Command1
Caption = "计算对应的y值"
Height = 615
Left = 1680
TabIndex = 20
Top = 5280
Width = 3735
End
Begin VB.TextBox Text10
Height = 495
Left = 5160
TabIndex = 9
Text = "0.7280"
Top = 1560
Width = 975
End
Begin VB.TextBox Text9
Height = 495
Left = 3840
TabIndex = 8
Text = "0.6708"
Top = 1560
Width = 975
End
Begin VB.TextBox Text8
Height = 495
Left = 2640
TabIndex = 7
Text = "0.6245"
Top = 1560
Width = 975
End
Begin VB.TextBox Text7
Height = 495
Left = 1440
TabIndex = 6
Text = "0.5477"
Top = 1560
Width = 975
End
Begin VB.TextBox Text6
Height = 495
Left = 120
TabIndex = 5
Text = "0.5000"
Top = 1560
Width = 975
End
Begin VB.TextBox Text5
Height = 495
Left = 5160
TabIndex = 4
Text = "0.53"
Top = 600
Width = 975
End
Begin VB.TextBox Text4
Height = 495
Left = 3840
TabIndex = 3
Text = "0.45"
Top = 600
Width = 975
End
Begin VB.TextBox Text3
Height = 495
Left = 2640
TabIndex = 2
Text = "0.39"
Top = 600
Width = 975
End
Begin VB.TextBox Text2
Height = 495
Left = 1440
TabIndex = 1
Text = "0.30"
Top = 600
Width = 975
End
Begin VB.TextBox Text1
Height = 495
Left = 240
TabIndex = 0
Text = "0.25"
Top = 600
Width = 975
End
Begin VB.Label Label13
Caption = "s'(0.53)"
Height = 255
Left = 6480
TabIndex = 27
Top = 1320
Width = 975
End
Begin VB.Label Label12
Caption = "s'(0.25)"
Height = 255
Left = 6480
TabIndex = 26
Top = 360
Width = 975
End
Begin VB.Label Label11
Caption = "要求的x值"
Height = 855
Left = 1680
TabIndex = 22
Top = 4320
Width = 495
End
Begin VB.Label Label10
Caption = "y4"
Height = 255
Left = 5160
TabIndex = 19
Top = 1320
Width = 855
End
Begin VB.Label Label9
Caption = "y3"
Height = 255
Left = 3840
TabIndex = 18
Top = 1320
Width = 855
End
Begin VB.Label Label8
Caption = "y2"
Height = 255
Left = 2640
TabIndex = 17
Top = 1320
Width = 855
End
Begin VB.Label Label7
Caption = "y1"
Height = 255
Left = 1440
TabIndex = 16
Top = 1320
Width = 855
End
Begin VB.Label Label6
Caption = "y0"
Height = 255
Left = 240
TabIndex = 15
Top = 1320
Width = 855
End
Begin VB.Label Label5
Caption = "x4"
Height = 255
Left = 5160
TabIndex = 14
Top = 360
Width = 855
End
Begin VB.Label Label4
Caption = "x3"
Height = 255
Left = 3840
TabIndex = 13
Top = 360
Width = 855
End
Begin VB.Label Label3
Caption = "x2"
Height = 255
Left = 2640
TabIndex = 12
Top = 360
Width = 855
End
Begin VB.Label Label2
Caption = "x1"
Height = 255
Left = 1440
TabIndex = 11
Top = 360
Width = 855
End
Begin VB.Label Label1
Caption = "x0"
Height = 255
Left = 240
TabIndex = 10
Top = 360
Width = 855
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()
Dim xx As Double
Dim yy As Double
Dim x(4) As Double
Dim y(4) As Double
Dim m(4) As Double
Dim h(3) As Double
Dim a(4) As Double
Dim b(4) As Double
Dim aa(4) As Double
Dim bb(4) As Double
x(0) = Text1.Text
x(1) = Text2.Text
x(2) = Text3.Text
x(3) = Text4.Text
x(4) = Text5.Text
xx = Text11.Text
y(0) = Text6.Text
y(1) = Text7.Text
y(2) = Text8.Text
y(3) = Text9.Text
y(4) = Text10.Text
m(0) = Text13.Text
m(4) = Text14.Text
For i = 0 To 3
h(i) = x(i + 1) - x(i)
Next i
For i = 1 To 3
a(i) = h(i - 1) / (h(i - 1) + h(i))
b(i) = 3 * ((1 - a(i)) * (y(i) - y(i - 1)) / h(i - 1) + a(i) * (y(i + 1) - y(i)) / h(i))
Next i
aa(0) = -a(0) / 2
bb(0) = b(0) / 2
For i = 1 To 3
aa(i) = -a(i) / (2 + (1 - a(i)) * aa(i - 1))
bb(i) = (b(i) - (1 - a(i)) * bb(i - 1)) / (2 + (1 - a(i)) * aa(i - 1))
Next i
For i = 3 To 1 Step -1
m(i) = aa(i) * m(i + 1) + bb(i)
Next i
For i = 0 To 3 Step 1
If xx >= x(i) And xx <= x(i + 1) Then
yy = (1 + 2 * (xx - x(i)) / (x(i + 1) - x(i))) * (xx - x(i + 1)) * (xx - x(i + 1)) / ((x(i) - x(i + 1)) * (x(i) - x(i + 1))) * y(i) + (1 + 2 * (xx - x(i + 1)) / (x(i) - x(i + 1))) * (xx - x(i)) * (xx - x(i)) / ((x(i + 1) - x(i)) * (x(i + 1) - x(i))) * y(i + 1) + (xx - x(i)) * (xx - x(i + 1)) * (xx - x(i + 1)) / ((x(i) - x(i + 1)) * (x(i) - x(i + 1))) * m(i) + (xx - x(i + 1)) * (xx - x(i)) * (xx - x(i)) / ((x(i + 1) - x(i)) * (x(i + 1) - x(i))) * m(i + 1)
End If
Next i
If xx < x(0) Or xx > x(4) Then
MsgBox "你输入的数据不在这个区间里"
Text12.Text = "错误输入"
Else: Text12.Text = ccstr(yy)
End If
End Sub
Function ccstr(a As Double)
If 0 < a And a < 1 Then ccstr = "0" + CStr(a) '特殊情况 为-1到1 之间的数字
If -1 < a And a < 0 Then ccstr = "-0" + CStr(Abs(a))
If CStr(a) = "0" Then ccstr = "0"
If Abs(a) >= 1 Then ccstr = CStr(a)
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -