Помогите, пожалуйста, исправить программу для решения системы линейных уравнений методом Зейделя. (Если она вообще правильно составлена).
Sub metod_Zeydelya()
Dim a11 As Double, a21 As Double, a31 As Double
Dim a12 As Double, a22 As Double, a32 As Double
Dim a13 As Double, a23 As Double, a33 As Double
Dim b1 As Double, b2 As Double, b3 As Double
Dim x1 As Double, x2 As Double, x3 As Double
Dim x1k As Double, x2k As Double, x3k As Double
Dim eps As Double, n As Integer
Sheets("Лист1").Select
Cells(1, 6) = "Ввод исходных данных"
Cells(10, 6) = "Вывод результатов"
Cells(3, 1) = "a11 ="
Cells(4, 1) = "a21 ="
Cells(5, 1) = "a31 ="
Cells(3, 4) = "a12 ="
Cells(4, 4) = "a22 ="
Cells(5, 4) = "a32 ="
Cells(3, 7) = "a13 ="
Cells(4, 7) = "a23 ="
Cells(5, 7) = "a33 ="
Cells(3, 10) = "b1 ="
Cells(4, 10) = "b2 ="
Cells(5, 10) = "b3 ="
Cells(12, 1) = "x1 ="
Cells(12, 4) = "x2 ="
Cells(12, 7) = "x3 ="
Cells(12, 10) = "n ="
Cells(8, 5) = "eps="
a11 = Cells(3, 2)
a21 = Cells(4, 2)
a31 = Cells(5, 2)
a12 = Cells(3, 5)
a22 = Cells(4, 5)
a32 = Cells(5, 5)
a13 = Cells(3, 8)
a23 = Cells(4, 8)
a33 = Cells(5, 8)
b1 = Cells(3, 11)
b2 = Cells(4, 11)
b3 = Cells(5, 11)
eps = Cells(8, 6)
n = 1
x1k = 0
x2k = 0
x3k = 0
metka:
x1 = 1 / a11 * (b1 - a12 * x2k - a13 * x3k)
x2 = 1 / a22 * (b2 - a21 * x1 - a23 * x3k)
x3 = 1 / a33 * (b3 - a31 * x1 - a32 * x2)
If Abs(x1 - x1k) < eps And Abs(x2 - x2k) < eps And Abs(x3 - x3k) < eps Then
Cells(12, 2) = x1
Cells(12, 5) = x2
Cells(12, 8) = x3
Cells(12, 11) = n
Else
x1k = x1
x2k = x2
x3k = x3
n = n + 1
GoTo metka
End If
End Sub
Пытаюсь решить систему:
1,84x1 +2.25x2+2.53x3=-6.09
2.32x1+2.60x2+2.82x3=-6.98
1.83x1+2.06x2+2.24x3=-5.52
Программа выдаёт ошибку.
http://www.prepody.ru/topic8053.html
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)