⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 计算方法的VB程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "龙格库塔"
   ClientHeight    =   2445
   ClientLeft      =   2625
   ClientTop       =   3450
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   2445
   ScaleWidth      =   4680
   Begin VB.TextBox Text5 
      Height          =   615
      Left            =   3480
      TabIndex        =   11
      Text            =   "2.999"
      Top             =   1800
      Width           =   1215
   End
   Begin VB.TextBox Text4 
      Height          =   735
      Left            =   2520
      TabIndex        =   9
      Text            =   "1"
      Top             =   480
      Width           =   855
   End
   Begin VB.CommandButton Command3 
      Caption         =   "About"
      Height          =   615
      Left            =   4080
      TabIndex        =   5
      Top             =   480
      Width           =   615
   End
   Begin VB.CommandButton Command2 
      Caption         =   "End"
      Height          =   615
      Left            =   3480
      TabIndex        =   4
      Top             =   480
      Width           =   615
   End
   Begin VB.CommandButton Command1 
      Caption         =   "Ok"
      Height          =   495
      Left            =   3480
      TabIndex        =   3
      Top             =   0
      Width           =   1215
   End
   Begin VB.TextBox Text3 
      Height          =   735
      Left            =   1680
      TabIndex        =   2
      Text            =   "30"
      Top             =   480
      Width           =   855
   End
   Begin VB.TextBox Text2 
      Height          =   735
      Left            =   840
      TabIndex        =   1
      Text            =   "3"
      Top             =   480
      Width           =   855
   End
   Begin VB.TextBox Text1 
      Height          =   735
      Left            =   0
      TabIndex        =   0
      Text            =   "0"
      Top             =   480
      Width           =   855
   End
   Begin VB.Label Label6 
      Caption         =   "本程序中的微分函数需要在公共模块的f函数的定植中修改。"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1095
      Left            =   0
      TabIndex        =   13
      Top             =   1560
      Width           =   3375
   End
   Begin VB.Label Label5 
      Caption         =   "  待计算     点的值"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Left            =   3480
      TabIndex        =   12
      Top             =   1200
      Width           =   1215
   End
   Begin VB.Label Label4 
      Caption         =   "初始值    yo "
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   2640
      TabIndex        =   10
      Top             =   0
      Width           =   735
   End
   Begin VB.Label Label3 
      Caption         =   " 细分点    数目"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   1680
      TabIndex        =   8
      Top             =   0
      Width           =   855
   End
   Begin VB.Label Label2 
      Caption         =   "区间上界     b"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   840
      TabIndex        =   7
      Top             =   0
      Width           =   855
   End
   Begin VB.Label Label1 
      Caption         =   "区间下界     a"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   0
      TabIndex        =   6
      Top             =   0
      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 t1, t2 As Double
Dim m As Integer
Dim sum, h As Double
Dim t(Max) As Double
t1 = Time
m = 1
a = CDbl(Text1.Text)
b = CDbl(Text2.Text)
N = CInt(Text3.Text)
y(0) = CDbl(Text4.Text)
zz = CDbl(Text5.Text)
z0 = zz
Debug.Print f(1.2, 2.1)
Call Runge_kutta
Call Lagrange
t2 = Time
Tm = CDbl(t2 - t1) * 24 * 2600
Form1.Hide
Form2.Show
End Sub
Private Sub Command2_Click()
End
End Sub

Private Sub Command3_Click()
temp = MsgBox("理学院一队:王元", 64, "关于:作者")
End Sub
Public Sub Runge_kutta()
h = (b - a) / N
Dim k1, k2, k3, k4, s As Double
Dim p, q As Double
  t(0) = a
  For j = 0 To N - 1
      p = t(j)
      q = y(j)
      k1 = h * f(CDbl(p), q)
      k2 = h * f(p + h / 2, q + 0.5 * k1)
      k3 = h * f(p + h / 2, q + 0.5 * k2)
      k4 = h * f(p + h, q + k3)
      s = k1 + 2 * k2 + 2 * k3 + k4
      y(j + 1) = q + s / 6
      t(j + 1) = a + h * (j + 1)
  Next j
End Sub
Private Sub Lagrange()
 Dim k, j As Integer
 Dim z As Double
 y0 = 0
   For k = 0 To N
       z = y(k)
       For j = 0 To N
           If j <> k Then
               z = z * (zz - t(j)) / (t(k) - t(j))
           End If
       Next j
       y0 = y0 + z
   Next k
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -