2. При этом чтобы итерационный процесс сходился к точному решению, достаточно, чтобы все коэффициенты системы были малы по сравнению с диагональными.
Это условие можно сформулировать и более точно:
Для сходимости процесса итераций достаточно, чтобы в каждом столбце сумма отношений коэффициентов системы к диагональным элементам, взятым из той же строки, была строго меньше единицы:
3. Следует так же сказать, что итерационный процесс может проводиться как в виде итерации Якоби, так и в виде итерации Гаусса-Зейделя. В последнем случае сходимость итерационного процесса может существенно улучшиться.
II. Практическая часть.
1) Метод обратной матрицы.
Метод обратной матрицы | ||||||
| ||||||
x1 | x2 | x3 | x4 | |||
12 | -4 | 0 | 6 | 2 | ||
A= | -4 | 21 | 5 | 3 | B= | 4 |
-3 | 2 | -22 | 1 | -2 | ||
-2 | -3 | 5 | 23 | 4 | ||
0,083 | 0,013 | -0,002 | -0,023 | |||
A-1= | 0,016 | 0,048 | 0,009 | -0,011 | ||
-0,009 | 0,003 | -0,044 | 0,004 | |||
0,011 | 0,007 | 0,010 | 0,039 | |||
x= | 0,129 | |||||
0,165 | ||||||
0,097 | ||||||
0,186 |
2) Метод Крамера.
Метод Крамера | |||||||
| |||||||
x1 | x2 | x3 | x4 | ||||
12 | -4 | 0 | 6 | 2 | |||
A= | -4 | 21 | 5 | 3 | B= | 4 | |
-3 | 2 | -22 | 1 | -2 | |||
-2 | -3 | 5 | 23 | 4 | |||
'A'= | -134088 | ||||||
2 | -4 | 0 | 6 | ||||
A1= | 4 | 21 | 5 | 3 | |||
-2 | 2 | -22 | 1 | ||||
4 | -3 | 5 | 23 | ||||
'A1'= | -17296 | x1= | 0,129 | ||||
12 | 2 | 0 | 6 | ||||
A2= | -4 | 4 | 5 | 3 | |||
-3 | -2 | -22 | 1 | ||||
-2 | 4 | 5 | 23 | ||||
'A2'= | -22188 | x2= | 0,165 | ||||
12 | -4 | 2 | 6 | ||||
A3= | -4 | 21 | 4 | 3 | |||
-3 | 2 | -2 | 1 | ||||
-2 | -3 | 4 | 23 | ||||
'A3'= | -12980 | x3= | 0,097 | ||||
12 | -4 | 0 | 2 | ||||
A4= | -4 | 21 | 5 | 4 | |||
-3 | 2 | -22 | -2 | ||||
-2 | -3 | 5 | 4 | ||||
'A4'= | -24896 | x4= | 0,186 | ||||
x= | 0,129 | ||||||
0,165 | |||||||
0,097 | |||||||
0,186 |
3) Метод Гаусса.
Метод Гаусса | |||||||
| |||||||
x1 | x2 | x3 | x4 | ||||
12 | -4 | 0 | 6 | 2 | |||
A= | -4 | 21 | 5 | 3 | B= | 4 | |
-3 | 2 | -22 | 1 | -2 | |||
-2 | -3 | 5 | 23 | 4 | |||
'A'= | -134088 | ||||||
1,000 | -0,333 | 0,000 | 0,500 | 0,167 | |||
-4,000 | 21,000 | 5,000 | 3,000 | 4,000 | |||
-3,000 | 2,000 | -22,000 | 1,000 | -2,000 | |||
-2,000 | -3,000 | 5,000 | 23,000 | 4,000 | |||
1,000 | -0,333 | 0,000 | 0,500 | 0,167 | |||
0,000 | 25,333 | 5,000 | 5,000 | 4,667 | |||
0,000 | 1,000 | -22,000 | 2,500 | -1,500 | |||
0,000 | -3,667 | 5,000 | 24,000 | 4,333 | |||
1,000 | -0,333 | 0,000 | 0,500 | 0,167 | |||
0,000 | 1,000 | 0,197 | 0,197 | 0,184 | |||
0,000 | 0,000 | -22,197 | 2,303 | -1,684 | |||
0,000 | 0,000 | 5,724 | 24,724 | 5,009 | |||
1,000 | -0,333 | 0,000 | 0,500 | 0,167 | |||
0,000 | 1,000 | 0,197 | 0,197 | 0,184 | |||
0,000 | 0,000 | 1,000 | -0,104 | 0,076 | |||
0,000 | 0,000 | 0,000 | 25,317 | 4,574 | |||
x= | 0,120 | ||||||
0,130 | |||||||
0,095 | |||||||
0,181 |
4) Листинг программы (Метод Крамера, Метод Гаусса, Метод обратной матрицы).
Begin VB.Form frmAriel
BorderStyle = 1 'Единственный Фиксированный
Caption = "Решение систем линейных уравнений"
ClientHeight = 6315
ClientLeft = 4365
ClientTop = 2430
ClientWidth = 7815
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
LinkTopic = "Форма1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6315
ScaleWidth = 7815
Begin VB.TextBox txtMOMZ
Alignment = 2 'Выравнивание по Центру
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3960
TabIndex = 45
Top = 5520
Width = 975
End
Begin VB.TextBox txtMOMY
Alignment = 2 'Выравнивание по Центру
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2640
TabIndex = 44
Top = 5520
Width = 975
End
Begin VB.TextBox txtMOMX
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,0000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1320
TabIndex = 43
Top = 5520
Width = 975
End
Begin VB.TextBox txtMGZ
Alignment = 2 'Выравнивание по Центру
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3960
TabIndex = 42
Top = 4800
Width = 975
End
Begin VB.TextBox txtMGY
Alignment = 2 'Выравнивание по Центру
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2640
TabIndex = 41
Top = 4800
Width = 975
End
Begin VB.TextBox txtMGX
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,0000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1320
TabIndex = 40
Top = 4800
Width = 975
End
Begin VB.TextBox txtMKZ
Alignment = 2 'Выравнивание по Центру
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3960
TabIndex = 39
Top = 4080
Width = 975
End
Begin VB.TextBox txtMKY
Alignment = 2 'Выравнивание по Центру
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2640
TabIndex = 38
Top = 4080
Width = 975
End
Begin VB.TextBox txtMKX
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,0000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
DataMember = "0,0000"
BeginProperty Font
Name = "Times New Roman"
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1320
Locked = -1 'True
TabIndex = 37
Top = 4080
Width = 975
End
Begin VB.TextBox txtA33
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4440
TabIndex = 30
Top = 2640
Width = 1095
End
Begin VB.TextBox txtA23
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4440
TabIndex = 29
Top = 2040
Width = 1095
End
Begin VB.TextBox txtA13
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4440
TabIndex = 28
Top = 1440
Width = 1095
End
Begin VB.TextBox txtA32
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2520
TabIndex = 24
Top = 2640
Width = 1095
End
Begin VB.TextBox txtA22
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2520
TabIndex = 23
Top = 2040
Width = 1095
End
Begin VB.TextBox txtA12
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2520
TabIndex = 22
Top = 1440
Width = 1095
End
Begin VB.CommandButton cmdExit
Caption = "Выход"
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 5400
TabIndex = 18
Top = 5520
Width = 2055
End
Begin VB.CommandButton cmdCount
Caption = "Вычислить"
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 5400
TabIndex = 17
Top = 4680
Width = 2055
End
Begin VB.CommandButton cmdClean
Caption = "Очистить"
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = -1 'True
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 5400
TabIndex = 16
Top = 3840
Width = 2055
End
Begin VB.TextBox txtB3
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6480
TabIndex = 12
Top = 2640
Width = 1095
End
Begin VB.TextBox txtB2
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6480
TabIndex = 11
Top = 2040
Width = 1095
End
Begin VB.TextBox txtB1
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6480
TabIndex = 10
Top = 1440
Width = 1095
End
Begin VB.TextBox txtA31
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 600
TabIndex = 9
Top = 2640
Width = 1095
End
Begin VB.TextBox txtA21
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 600
TabIndex = 8
Top = 2040
Width = 1095
End
Begin VB.TextBox txtA11
Alignment = 2 'Выравнивание по Центру
BeginProperty DataFormat
Type = 1
Format = "0,0000"
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 600
TabIndex = 7
Top = 1440
Width = 1095
End
Begin VB.Line Строка3
X1 = 5760
X2 = 5760
Y1 = 1080
Y2 = 3360
End
Begin VB.Label Метка29
Caption = "Z"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 4920
TabIndex = 36
Top = 1080
Width = 255
End
Begin VB.Label Метка28
Caption = "Y"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3000
TabIndex = 35
Top = 1080
Width = 255
End
Begin VB.Label Метка27
Caption = "X"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1080
TabIndex = 34
Top = 1080
Width = 255
End
Begin VB.Label Метка23
Caption = "Z"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 4440
TabIndex = 33
Top = 3480
Width = 255
End
Begin VB.Label Метка22
Caption = "Y"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 3120
TabIndex = 32
Top = 3480
Width = 255
End
Begin VB.Label Метка21
Caption = "X"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 1800
TabIndex = 31
Top = 3480
Width = 255
End
Begin VB.Label Метка20
Caption = "А33"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3840
TabIndex = 27
Top = 2640
Width = 375
End
Begin VB.Label Метка19
Caption = "А23"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3840
TabIndex = 26
Top = 2040
Width = 375
End
Begin VB.Label Метка18
Caption = "А13"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3840
TabIndex = 25
Top = 1440
Width = 375
End
Begin VB.Label Метка17
Caption = "А32"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1920
TabIndex = 21
Top = 2640
Width = 375
End
Begin VB.Label Метка16
Caption = "А22"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1920
TabIndex = 20
Top = 2040
Width = 375
End
Begin VB.Label Метка15
Caption = "А12"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1920
TabIndex = 19
Top = 1440
Width = 375
End
Begin VB.Line Строка2
X1 = 0
X2 = 7800
Y1 = 3360
Y2 = 3360
End
Begin VB.Label Метка12
Alignment = 2 'Выравнивание по Центру
Caption = "Метод обратной матрицы"
BeginProperty Font
Name = "Times New Roman"
Size = 11.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 855
Left = 0
TabIndex = 15
Top = 5280
Width = 1095
End
Begin VB.Label Метка11
Alignment = 2 'Выравнивание по Центру
Caption = "Метод Гаусса"
BeginProperty Font
Name = "Times New Roman"
Size = 11.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 0
TabIndex = 14
Top = 4560
Width = 1095
End
Begin VB.Label Метка10
Alignment = 2 'Выравнивание по Центру
Caption = "Метод Крамера"
BeginProperty Font
Name = "Times New Roman"
Size = 11.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 0
TabIndex = 13
Top = 3840
Width = 1095
End
Begin VB.Label Метка7
Caption = "В3"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6000
TabIndex = 6
Top = 2640
Width = 255
End
Begin VB.Label Метка6
Caption = "В2"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6000
TabIndex = 5
Top = 2040
Width = 255
End
Begin VB.Label Метка5
Caption = "В1"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6000
TabIndex = 4
Top = 1440
Width = 255
End
Begin VB.Label Метка4
Caption = "А31"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 0
TabIndex = 3
Top = 2640
Width = 375
End
Begin VB.Label Метка3
Caption = "А21"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 0
TabIndex = 2
Top = 2040
Width = 375
End
Begin VB.Label Метка2
Caption = "А11"
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 0
TabIndex = 1
Top = 1440
Width = 375
End
Begin VB.Label Метка1
Caption = $"frmSlay.frx":0000
BeginProperty Font
Name = "Times New Roman"
Size = 12
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 855
Left = 120
TabIndex = 0
Top = 120
Width = 7575
End
End
Attribute VB_Name = "frmAriel"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmdClean_Click()
Dim с As Byte
с = MsgBox("Хотите очистить?", 33, "Очистка")
If с = 1 Then
txtA11.Text = ""
txtA12.Text = ""
txtA13.Text = ""
txtA21.Text = ""
txtA22.Text = ""
txtA23.Text = ""
txtA31.Text = ""
txtA32.Text = ""
txtA33.Text = ""
txtB1.Text = ""
txtB2.Text = ""
txtB3.Text = ""
txtMKX.Text = ""
txtMGX.Text = ""
txtMOMX.Text = ""
txtMKY.Text = ""
txtMGY.Text = ""
txtMOMY.Text = ""
txtMKZ.Text = ""
txtMGZ.Text = ""
txtMOMZ.Text = ""
End If
End Sub
Private Sub cmdCount_Click()
If (Val(txtA11) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtA13) - Val(txtA13) * Val(txtA22) * Val(txtA31) - Val(txtA12) * Val(txtA21) * Val(txtA33) - Val(txtA23) * Val(txtA32) * Val(txtA11)) = 0 Then
Dim g As Byte
g = MsgBox("Решить данную систему методом Крамера и методом обратной матрицы невозможно", 32, "Определитель системы равен 0")
Else
ds = (Val(txtA11) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtA13) - Val(txtA13) * Val(txtA22) * Val(txtA31) - Val(txtA12) * Val(txtA21) * Val(txtA33) - Val(txtA23) * Val(txtA32) * Val(txtA11))
dx = (Val(txtB1) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtB3) + Val(txtB2) * Val(txtA32) * Val(txtA13) - Val(txtA13) * Val(txtA22) * Val(txtB3) - Val(txtA12) * Val(txtB2) * Val(txtA33) - Val(txtA23) * Val(txtA32) * Val(txtB1))
dy = (Val(txtA11) * Val(txtB2) * Val(txtA33) + Val(txtB1) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtB3) * Val(txtA13) - Val(txtA13) * Val(txtB2) * Val(txtA31) - Val(txtB1) * Val(txtA21) * Val(txtA33) - Val(txtA23) * Val(txtB3) * Val(txtA11))
dz = (Val(txtA11) * Val(txtA22) * Val(txtB3) + Val(txtA12) * Val(txtB2) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtB1) - Val(txtB1) * Val(txtA22) * Val(txtA31) - Val(txtA12) * Val(txtA21) * Val(txtB3) - Val(txtB2) * Val(txtA32) * Val(txtA11))
txtMKX.Text = (dx / ds)
txtMKY.Text = (dy / ds)
txtMKZ.Text = (dz / ds)
txtMOMX.Text = (((Val(txtA22) * Val(txtA33) - Val(txtA23) * Val(txtA32)) / ds) * Val(txtB1) + ((Val(txtA13) * Val(txtA32) - Val(txtA12) * Val(txtA33)) / ds) * Val(txtB2) + ((Val(txtA12) * Val(txtA23) - Val(txtA13) * Val(txtA22)) / ds) * Val(txtB3))
txtMOMY.Text = (((Val(txtA23) * Val(txtA31) - Val(txtA21) * Val(txtA33)) / ds) * Val(txtB1) + ((Val(txtA11) * Val(txtA33) - Val(txtA13) * Val(txtA31)) / ds) * Val(txtB2) + ((Val(txtA13) * Val(txtA21) - Val(txtA11) * Val(txtA23)) / ds) * Val(txtB3))
txtMOMZ.Text = (((Val(txtA21) * Val(txtA32) - Val(txtA22) * Val(txtA31)) / ds) * Val(txtB1) + ((Val(txtA12) * Val(txtA31) - Val(txtA11) * Val(txtA32)) / ds) * Val(txtB2) + ((Val(txtA11) * Val(txtA22) - Val(txtA12) * Val(txtA21)) / ds) * Val(txtB3))
End If
If Val(txtA11) = 0 Then
Dim gg As Byte
gg = MsgBox("Решить данную систему методом Гаусса невозможно. Поменяйте уравнения местами, и попробуйте снова", 48, "Коэффициент при х в первом уравнении равен 0")
Else
s1 = ((Val(txtB3) * Val(txtA11)) - (Val(txtB1) * Val(txtA31)))
s2 = ((Val(txtA22) * Val(txtA11)) - (Val(txtA12) * Val(txtA21)))
s3 = ((Val(txtB2) * Val(txtA11)) - (Val(txtB1) * Val(txtA21)))
s4 = ((Val(txtA32) * Val(txtA11)) - (Val(txtA12) * Val(txtA31)))
s5 = ((Val(txtA33) * Val(txtA11)) - (Val(txtA12) * Val(txtA31)))
s6 = s2
s7 = ((Val(txtA23) * Val(txtA11)) - (Val(txtA13) * Val(txtA21)))
s8 = s4
s12 = s1 * s2
s34 = s3 * s4
s56 = s5 * s6
s78 = s7 * s8
sh = s12 - s34
sz = s56 - s78
If sz = 0 Then
Dim с As Byte
с = MsgBox("Делить на ноль нельзя.", 48, "Ошибка")
Else
txtMGZ.Text = (sh / sz)
End If
sy1 = s3
sy2 = s2
sy3 = ((Val(txtA23) * Val(txtA11)) - (Val(txtA13) * Val(txtA21)))
sy4 = s2
sy12 = (sy1) / (sy2)
sy34 = (sy3) / (sy4)
txtMGY.Text = ((sy12) - ((sy34) * (sh / sz)))
sx1 = ((Val(txtB1)) / (Val(txtA11)))
sx2 = ((Val(txtA13)) / (Val(txtA11)))
sx3 = ((Val(txtA12)) / (Val(txtA11)))
txtMGX.Text = ((sx1) - ((sx2) * (sh / sz)) - ((sx3) * ((sy12) - ((sy34) * (sh / sz)))))
End If
End Sub
Private Sub cmdExit_Click()
Dim a As Byte
a = MsgBox("Хотите выйти?", 33, "Выход")
If a = 1 Then
End
End If
End Sub
Польза введения расчетов.
Огромное количество численных методов ставит актуальной задачей не столько создание новых, сколько исследование и классификацию старых, выявление лучших. Анализ влияния ошибок показал, что между лучшими методами нет принципиальной разницы с точки зрения устойчивости к ошибкам округления. Создание мощных компьютеров существенно ослабило значение различия между методами (в таких характеристиках, как объём требуемой памяти, количество арифметических операций). В этих условия наиболее предпочтительными становятся те методы, которые не очень отличаются от лучших по скорости и удобству реализации на компьютерах, позволяют решать широкий класс задач как хорошо, так и плохо обусловленных и давать при этом оценку точности вычислительного решения.
В MathCAD и Excel численные методы представляют собой те же самые общепринятые ручные расчёты, но выполняемые не человеком, а компьютером, что понижает возможность ошибки до нуля. Программа на Visual Basic намного упрощает задачу. С помощью единожды созданной программы можно решать системы линейных уравнений, вводя минимум значений. Также эта программа может быть использована не только вами, но и простыми пользователями.
III. Литература
1) М. Додж, К. Кината, К. Стинсон "Эффективная работа в Microsoft Excel 97", издательство "Питер"; Санкт-Петербург, 1998г.
2) Е.К. Овчаренко, О.П. Ильина, Е.В. Балыбердин "Финансово - экономические расчеты в Excel", Москва, 1999 г.
3) Йорг Шиб, Excel 7,0: Сотни полезных рецептов, Дюссельдорф-Киев-Москва- Санкт-Петербург, 1997 г.
4) Симонович С.В. и др. Информатика Базовый курс: Учеб, для технических вузов. СПБ: Изд. «Питер», 2004.–640с
5) Калиткин Н.Н. и др. Численные методы. М.: Наука, 1982
6) Турчак Л.И. Основы численных методов. М.: Наука, 1987
7) Дьяконов В.П. Система MathCAD. М.: Радио и связь, 1993
... , с помощью которых в последующем решение систем линейных уравнений станет намного проще, понятнее и быстрее. Цель моей работы заключается в том, чтобы изучить различные способы решения систем линейных уравнений для применения их на практике. Для достижения любой цели необходимо выполнить какие-то определенные задачи. Мне нужно выполнить следующие задачи: исследовать литературу по темам матриц, ...
... - функции f. Дальше, имеем: . Отсюда , где W'(x) - транспонированная матрица Якоби. Поэтому окончательно , причем . 3. Программная реализация итерационных методов Реализация алгоритмов итерационных методов решения систем нелинейных уравнений будет показана на примере системы: 3.1 Метод простых итераций Приведём систему к виду: Проверим условие ...
... треугольной матрицей. Вычисления значений неизвестных производят на этапе обратного хода. Целью данной курсовой работы является численное решение системы линейных уравнений с помощью метода исключения Гаусса с выбором главного элемента по столбцу. 1 Постановка задачи Задача ставится следующим образом. Пусть требуется найти решение системы линейных алгебраических уравнений a1,1x1 + a1, ...
... -1 х3 = 1 х4 = 2 3. Преимущества и недостатки метода Гаусса Итак, метод Гаусса применим к любой системе линейных уравнений, он идеально подходит для решения систем, содержащих больше трех линейных уравнений. Метод Гаусса решения СЛАУ с числовыми коэффициентами в силу простоты и однотипности выполняемых операций пригоден для счета на электронно-вычислительных машинах. Достоинства метода: ...
0 комментариев