📄 雅克比~1.frm
字号:
VERSION 5.00
Begin VB.Form Form13
BackColor = &H00C0C0C0&
Caption = "雅克比迭代法"
ClientHeight = 7095
ClientLeft = 60
ClientTop = 345
ClientWidth = 11700
LinkTopic = "Form13"
ScaleHeight = 7095
ScaleWidth = 11700
StartUpPosition = 3 '窗口缺省
Begin VB.PictureBox Picture2
BackColor = &H00FFFFFF&
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 4095
Left = 5880
ScaleHeight = 4035
ScaleWidth = 5235
TabIndex = 3
Top = 2160
Width = 5295
End
Begin VB.PictureBox Picture1
BackColor = &H00FFFFFF&
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 4095
Left = 360
ScaleHeight = 4035
ScaleWidth = 5115
TabIndex = 1
Top = 2160
Width = 5175
End
Begin VB.CommandButton Command1
Caption = "雅克比迭代"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 4680
TabIndex = 0
Top = 600
Width = 2295
End
Begin VB.Label Label2
BackColor = &H00C0C0C0&
Caption = "运算结果"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 7680
TabIndex = 4
Top = 1560
Width = 2415
End
Begin VB.Label Label1
BackColor = &H00C0C0C0&
Caption = "方程组的系数矩阵"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 1680
TabIndex = 2
Top = 1560
Width = 2895
End
End
Attribute VB_Name = "Form13"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
'Dim a(), b(), X(), Y() As Single
Dim a(10, 10), b(10), X(10), Y(10) As Single
Dim i As Integer, j As Integer, k As Integer, n As Integer
a(1, 1) = 8: a(1, 2) = -3: a(1, 3) = 2: b(1) = 20
a(2, 1) = 4: a(2, 2) = 11: a(2, 3) = -1: b(2) = 33
a(3, 1) = 2: a(3, 2) = 1: a(3, 3) = 4: b(3) = 12
EPS = 0.00001
'n = InputBox("输入方程组的个数n", , , 100, 100)
'ReDim X(n), Y(n), a(n, n), b(n)
n = 3
Picture1.Cls
For i = 1 To n
For j = 1 To n
'a(i, j) = InputBox("输入a(" & i & "," & j & ")的值", , , 100, 100)
Picture1.Print a(i, j),
Next j
' b(i) = InputBox("输入b(" & i & ")的值", , , 100, 100)
Picture1.Print b(i)
Next i
For i = 1 To n
X(i) = 0
Next i
ms = MsgBox("按任意键继续")
IMAX = 50
For k = 1 To IMAX
e = EPS
For i = 1 To n
s = 0
For j = 1 To n
If j <> i Then
s = a(i, j) * X(j) + s
End If
Next j
Y(i) = (b(i) - s) / a(i, i)
If Abs(Y(i) - X(i)) > e Then
e = Abs(Y(i) - X(i))
End If
Next i
If e <= EPS Then
Picture2.Print
Picture2.Print "经过" + Str(k) + "次雅可比迭代后,得到方程组的解为:"
For i = 1 To n
Picture2.Print " x(" + Str(i) + ")= "; Int(X(i) * 100000 + 0.5) / 100000
Next i
Exit Sub
End If
For i = 1 To n
X(i) = Y(i)
Next i
Picture2.Cls
Picture2.Print "第" + Str(k) + "次迭代后"
Picture2.Print
For i = 1 To n
Picture2.Print " x(" + Str(i) + ")= "; X(i)
Next i
ms = MsgBox("按任意键继续")
Next k
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -