📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 975
Left = 2160
TabIndex = 0
Top = 1560
Width = 3135
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 i, j, k, n, mark, nx, ny As Integer
Dim x(2), y(2), z(2), b(2), temp(2), sum, w As Single
Dim a(100, 100) As Single
a(0, 0) = 20: a(0, 1) = 2: a(0, 2) = 3
a(1, 0) = 1: a(1, 1) = 8: a(1, 2) = 1
a(2, 0) = 2: a(2, 1) = -3: a(2, 2) = 15
b(0) = 24: b(1) = 12: b(2) = 30
w = 1.5
nx = 3
ny = 3
mark = 1
x(0) = 0: x(1) = 0: x(2) = 0
For i = 0 To nx - 1
If a(i, i) = 0 Then
mark = 0
End If
Next i
If mark <> 0 Then
k = 0
Do
For i = 0 To nx - 1
y(i) = x(i)
z(i) = x(i)
Next i
k = k + 1
For i = 0 To nx - 1
sum = 0
For j = 0 To i - 1
sum = sum + a(i, j) * z(j)
Next j
For j = i To ny - 1
sum = sum + a(i, j) * x(j)
Next j
x(i) = x(i) + w * (b(i) - sum) / a(i, i)
z(i) = x(i)
Next i
For i = 0 To nx - 1
temp(i) = Abs(y(i) - x(i))
Next i
n = 0
For i = 0 To nx - 1
If temp(n) < temp(i) Then
n = i
End If
Next i
Loop While temp(n) > 0.000001 And k < 100
For i = 0 To 2
Debug.Print i, x(i)
Next i
Debug.Print "迭代次数:", k
Debug.Print 20 * x(0) + 2 * x(1) + 3 * x(2), x(0) + 8 * x(1) + x(2), 2 * x(0) - 3 * x(1) + 15 * x(2)
Else
Debug.Print "error"
MsgBox "错误"
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -