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

📄 form1.frm

📁 计算方法的VB程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Jacobi解线性方程(注意系数主对角占优)"
   ClientHeight    =   4050
   ClientLeft      =   2610
   ClientTop       =   2475
   ClientWidth     =   5610
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   4050
   ScaleWidth      =   5610
   Begin VB.TextBox Text3 
      Height          =   735
      Left            =   720
      TabIndex        =   9
      Text            =   "7,-21,15;"
      Top             =   3240
      Width           =   1815
   End
   Begin VB.TextBox Text2 
      Height          =   735
      Left            =   3480
      TabIndex        =   5
      Text            =   "1,1,1;"
      Top             =   3240
      Width           =   2175
   End
   Begin VB.CommandButton Command3 
      Caption         =   "&About"
      Height          =   615
      Left            =   4560
      TabIndex        =   4
      Top             =   2520
      Width           =   975
   End
   Begin VB.CommandButton Command2 
      Caption         =   "&End"
      Height          =   615
      Left            =   3480
      TabIndex        =   2
      Top             =   2520
      Width           =   975
   End
   Begin VB.TextBox Text1 
      Height          =   2775
      Left            =   0
      ScrollBars      =   3  'Both
      TabIndex        =   1
      Text            =   "4,-1,1;4,-8,1;-2,1,5;"
      Top             =   360
      Width           =   3375
   End
   Begin VB.CommandButton Command1 
      Caption         =   "O&k"
      Height          =   615
      Left            =   3480
      TabIndex        =   0
      Top             =   1800
      Width           =   2055
   End
   Begin VB.Label Label4 
      Caption         =   "方 程 右 方 等 量"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1455
      Left            =   0
      TabIndex        =   8
      Top             =   3240
      Width           =   735
   End
   Begin VB.Label Label3 
      Caption         =   "方 程 初 解 输 入"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1335
      Left            =   2640
      TabIndex        =   7
      Top             =   3240
      Width           =   735
   End
   Begin VB.Label Label2 
      Caption         =   "        方程系数输入"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   0
      TabIndex        =   6
      Top             =   0
      Width           =   3375
   End
   Begin VB.Label Label1 
      Caption         =   "  请按照提示的输入方式将所需计算的方程组的参数写在左边及下方的文本输入框内."
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   1695
      Left            =   3480
      TabIndex        =   3
      Top             =   0
      Width           =   2175
   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 As Date
Dim t2 As Date
Dim judge As Double
t1 = Time
Dim r As Integer
forward = 0
backward = 0
w = 1
w2 = 1
S = Text1.Text
l = Len(S)
For n = 1 To l
If Mid(S, n, 1) = "," Then
forward = n
A(w2, w) = CInt(Mid(S, backward + 1, forward - backward - 1))
backward = forward
w = w + 1
End If
If Mid(S, n, 1) = ";" Then
forward = n
A(w2, w) = CInt(Mid(S, backward + 1, forward - backward - 1))
backward = forward
w2 = w2 + 1
w1 = w
w = 1
End If
Next
w2 = w2 - 1
w1 = w1
forward = 0
backward = 0
w3 = 1
With Text2
l = Len(.Text)
For i = 1 To l
If Mid(.Text, i, 1) = "," Or Mid(.Text, i, 1) = ";" Then
forward = i
x0(w3) = CInt(Mid(.Text, backward + 1, forward - backward - 1))
w3 = w3 + 1
backward = forward
End If
Next
End With
w3 = 1
forward = 0
backward = 0
With Text3
l = Len(.Text)
For i = 1 To l
If Mid(.Text, i, 1) = "," Or Mid(.Text, i, 1) = ";" Then
forward = i
B(w3) = CInt(Mid(.Text, backward + 1, forward - backward - 1))
w3 = w3 + 1
backward = forward
End If
Next
End With
Debug.Print B(3)
For i = 1 To w1
    judge = 0
     For j = 1 To w1
         If (j <> i) Then
             judge = judge + Abs(A(i, j))
         End If
     If Abs(A(i, i)) < judge Then
     temp = MsgBox("输入系数并非主对角占优", 64, "警告")
     End
     End If
     Next j
Next i
Call Jacobi
Form1.Hide
Form2.Show
End Sub
Private Sub Jacobi()
Dim i As Integer
k = 0
Dim S, T, X1(Max) As Double
For i = 1 To w1
M(0, i) = x0(i)
Next i
Do
 T = 0
 For i = 1 To w1
      S = 0
      For j = 1 To w1
            If j <> i Then
                S = S + A(i, j) * M(k, j)
            End If
      Next j
        M(k + 1, i) = (B(i) - S) / A(i, i)
        T = T + (M(k + 1, i) - M(k, i)) * (M(k + 1, i) - M(k, i))
 Next i
 T = Sqr(T)
 k = k + 1
 Loop While ((k <= 100) And (T > TOL))
 For i = 1 To w1
 x0(i) = M(k - 1, i)
 Next i

  If k > 100 Then
    temp = MsgBox("对不起,Jocobi迭代超过100次,计算失败!!", 48, "错误")
  End If
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Command3_Click()
temp = MsgBox("理学院一队:王元", 64, "关于:作者")
End Sub

⌨️ 快捷键说明

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