📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "推进速度V与其他参数的关系"
ClientHeight = 12015
ClientLeft = 195
ClientTop = 450
ClientWidth = 15750
LinkTopic = "Form1"
ScaleHeight = 12015
ScaleWidth = 15750
Begin VB.HScrollBar HScroll1
Height = 255
LargeChange = 500
Left = 120
Max = 14895
SmallChange = 100
TabIndex = 30
Top = 0
Width = 15015
End
Begin VB.VScrollBar VScroll1
Height = 11775
LargeChange = 200
Left = 0
Max = 11535
SmallChange = 100
TabIndex = 29
Top = 240
Width = 255
End
Begin VB.Frame Frame1
Caption = "运行容器"
BeginProperty Font
Name = "华文行楷"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 11295
Left = 720
TabIndex = 0
Top = 480
Width = 14535
Begin VB.Frame Frame6
Caption = "页面选择"
BeginProperty Font
Name = "华文行楷"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 2295
Left = 8880
TabIndex = 26
Top = 8520
Width = 5175
Begin VB.CommandButton Command4
Caption = "下 页"
Height = 735
Left = 3120
TabIndex = 28
Top = 720
Width = 1335
End
Begin VB.CommandButton Command3
Caption = "上 页"
Height = 735
Left = 840
TabIndex = 27
Top = 720
Width = 1335
End
End
Begin VB.ComboBox Combo1
Enabled = 0 'False
Height = 300
ItemData = "Form1.frx":0000
Left = 12600
List = "Form1.frx":000D
TabIndex = 22
Text = "形状选择"
Top = 4080
Width = 1095
End
Begin VB.Frame Frame5
Caption = "操作"
BeginProperty Font
Name = "华文行楷"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 2295
Left = 8880
TabIndex = 18
Top = 5760
Width = 5175
Begin VB.CommandButton Command2
Caption = "刷 新"
Height = 735
Left = 3000
TabIndex = 20
Top = 840
Width = 1335
End
Begin VB.CommandButton Command1
Caption = "运 行"
Height = 735
Left = 600
TabIndex = 19
Top = 840
Width = 1335
End
End
Begin VB.Frame Frame4
Caption = "关系选项"
BeginProperty Font
Name = "华文行楷"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 2295
Left = 8880
TabIndex = 14
Top = 2760
Width = 5175
Begin VB.OptionButton Option4
Caption = "频率f"
Height = 255
Left = 2760
TabIndex = 21
Top = 1320
Width = 855
End
Begin VB.OptionButton Option3
Caption = "参数k"
Height = 375
Left = 480
TabIndex = 17
Top = 1320
Width = 855
End
Begin VB.OptionButton Option2
Caption = "机器人质量M"
Height = 495
Left = 2760
TabIndex = 16
Top = 480
Width = 1335
End
Begin VB.OptionButton Option1
Caption = "摆幅(α)"
Height = 375
Left = 480
TabIndex = 15
Top = 600
Width = 1215
End
End
Begin VB.Frame Frame3
Caption = "关系图像"
BeginProperty Font
Name = "华文行楷"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 8175
Left = 360
TabIndex = 2
Top = 2760
Width = 8175
Begin VB.PictureBox Pic1
AutoSize = -1 'True
BackColor = &H00FFFFC0&
Height = 6735
Left = 360
ScaleHeight = 6675
ScaleWidth = 7035
TabIndex = 3
Top = 600
Width = 7095
End
Begin VB.Label Label1
BeginProperty Font
Name = "华文行楷"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 615
Left = 1320
TabIndex = 4
Top = 7440
Width = 5535
End
End
Begin VB.Frame Frame2
Caption = "公共参数"
BeginProperty Font
Name = "华文行楷"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 1815
Left = 360
TabIndex = 1
Top = 480
Width = 13695
Begin VB.TextBox Text4
Height = 495
Left = 11400
TabIndex = 25
Top = 600
Width = 1455
End
Begin VB.TextBox Text3
Height = 495
Left = 8160
TabIndex = 10
Top = 600
Width = 1455
End
Begin VB.TextBox Text2
Height = 495
Left = 4920
TabIndex = 8
Top = 600
Width = 1455
End
Begin VB.TextBox Text1
Height = 495
Left = 1560
TabIndex = 6
Top = 600
Width = 1455
End
Begin VB.Label Label9
Caption = "mm"
Height = 255
Left = 12960
TabIndex = 24
Top = 720
Width = 255
End
Begin VB.Label Label8
Caption = "三角形的底"
Height = 375
Left = 10440
TabIndex = 23
Top = 720
Width = 735
End
Begin VB.Label Label7
Caption = "mm"
Height = 375
Left = 9720
TabIndex = 13
Top = 720
Width = 255
End
Begin VB.Label Label6
Caption = "Hz"
Height = 255
Left = 6480
TabIndex = 12
Top = 720
Width = 255
End
Begin VB.Label Label5
Caption = "mm"
Height = 255
Left = 3120
TabIndex = 11
Top = 720
Width = 255
End
Begin VB.Label Label4
Caption = "矩形高h"
Height = 375
Left = 7320
TabIndex = 9
Top = 720
Width = 975
End
Begin VB.Label Label3
Caption = "摆动频率f"
Height = 375
Left = 3840
TabIndex = 7
Top = 720
Width = 975
End
Begin VB.Label Label2
Caption = "机器人尾部长度L"
Height = 735
Left = 480
TabIndex = 5
Top = 720
Width = 1095
End
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Const PI = 3.14159
Dim L0 As Double 'L0为游动尾部长
Dim L1 As Double '三角形
Dim h As Double
Dim X As Double
Dim M1 As Double
Dim M0 As Double
Dim V1 As Double
Dim k As Double
Dim λ As Double
Dim α As Double
Dim ρ As Double
Dim o As Integer
Public Function tu()
Pic1.Scale (-1, 24)-(9, -2)
Pic1.Line (-0.5, 0)-(8, 0)
Pic1.Line (0, -1)-(0, 23)
Pic1.Line (7.6, -0.4)-(8, 0)
Pic1.Line (7.6, 0.4)-(8, 0)
Pic1.Line (-0.15, 22)-(0, 23)
Pic1.Line (0.15, 22)-(0, 23)
Pic1.CurrentX = 8
Pic1.CurrentY = -0.5
Pic1.Print "f(Hz)"
Pic1.CurrentX = 0.2
Pic1.CurrentY = 23
Pic1.Print "V(mm/s)"
Pic1.DrawStyle = 2
For i = 1 To 8
Pic1.CurrentY = -0.5
Pic1.CurrentX = i - 1
Pic1.Print i - 1
Pic1.Line (i - 1, 0)-(i - 1, 22)
Next
For i = 1 To 11
Pic1.CurrentX = -0.5
Pic1.CurrentY = 2 * i
Pic1.Print 2 * i
Pic1.Line (0, 2 * i)-(7, 2 * i)
Next
Pic1.DrawStyle = 0
End Function
Public Function xin()
Text1.Text = "20"
Text2.Text = "2"
Text3.Text = "6"
Text4.Text = "6"
Label1.Caption = ""
Pic1.Cls
End Function
Public Function Romberg(problem As Long, a As Double, b As Double, tol As Double) As Double
Dim i As Long, j As Long, T() As Double, L As Long
Dim X As Double, dx As Double, n As Long, sum As Double
ReDim T(1 To 3)
T(1) = (b - a) * (fx(problem, a) + fx(problem, b)) / 2
T(2) = T(1) / 2 + (b - a) * (fx(problem, (a + b) / 2)) / 2
T(3) = (4 * T(2) - T(1)) / 3
j = 3
Do While Abs(T(UBound(T)) - T(UBound(T) - 2)) > tol
dx = (b - a) / (2 ^ (j - 1))
X = a - dx
n = 2 ^ (j - 2)
sum = 0
For i = 1 To n
X = X + 2 * dx
sum = sum + fx(problem, X)
Next
For i = 2 To UBound(T) Step 2
T(i - 1) = T(i)
Next
T(2) = T(1) / 2 + dx * sum
ReDim Preserve T(1 To UBound(T) + 2)
For L = 2 To j
If L <> j Then
T(L * 2) = ((4 ^ (L - 1)) * T(L * 2 - 2) - T(L * 2 - 3)) / ((4 ^ (L - 1)) - 1)
Else
T(UBound(T)) = ((4 ^ (L - 1)) * T(UBound(T) - 1) - _
T(UBound(T) - 2)) / ((4 ^ (L - 1)) - 1)
End If
Next
j = j + 1
Loop
Romberg = T(UBound(T))
End Function
Public Function fx(problem As Long, X As Double) As Double
Select Case problem
Case 0 '矩形
h = Text3.Text
fx = h * X * Sin(2 * PI * X / λ)
Case 1 '三角形
L1 = Text4.Text
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -