Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
info_1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
68.83 Кб
Скачать

МетодГаусса-Зейделя

Метод Гаусса-Зейделя является аналогом метода простой итерации. Здесь _ итераций при j<i и уже вычислена на этой итерации.

Условие сходимости:

Расчетная формула:

Программа метода Гаусса-Зейделя

SubГау_Зейд()

k = Val(InputBox("Введите число уравнений", "Исходные данные"))

Dim a(4, 4)

i1 = 2

For i = 1 To 4

For j = 1 To 4

a(i, j) = Worksheets("Слау").Cells(i1, j).Value

Next j

i1 = i1 + 1

Next i

Dim b(4)

i1 = 2

For i = 1 To 4

b(i) = Worksheets("Слау").Cells(i1, 7).Value

i1 = i1 + 1

Next i

e = 0.001

n = 0

x10 = 0

x20 = 0

x30 = 0

x40 = 0

Do

x1 = (b(1) - a(1, 2) * x20 - a(1, 3) * x30 - a(1, 4) * x40) / a(1, 1)

x2 = (b(2) - a(2, 1) * x1 - a(2, 3) * x30 - a(2, 4) * x40) / a(2, 2)

x3 = (b(3) - a(3, 1) * x1 - a(3, 2) * x2 - a(3, 4) * x40) / a(3, 3)

x4 = (b(4) - a(4, 1) * x1 - a(4, 2) * x2 - a(4, 3) * x3) / a(4, 4)

c = Abs(x1 - x10) + Abs(x2 - x20) + Abs(x3 - x30) + Abs(x4 - x40)

x10 = x1

x20 = x2

x30 = x3

x40 = x4

n = n + 1

Loop While c > e

Worksheets("Слау").Range("J6").Value = x1

Worksheets("Слау").Range("K6").Value = x2

Worksheets("Слау").Range("L6").Value = x3

Worksheets("Слау").Range("M6").Value = x4

Worksheets("Слау").Range("n6").Value = n

EndSub

Сравнение методов

x1

x2

x3

x4

n

Метод обратной матрицы

0,071934

1,227264

-0,329

-1,45053

Метод Крамера

0,071934

1,227264

-0,329

-1,45053

Метод Гауса

0,071934

1,227264

-0,329

-1,45053

Метод протой итерации

0,071899

1,22725

-0,32906

-1,45062

13

Метод Гауса-Зейделя

0,071914

1,227253

-0,32898

-1,45055

7

Если рассматривать выше приведенные точные методы на сложность, то они достаточно просты, кроме метода Гаусса. Но все же действия в методе обратной матрицы действия меньше чем у метода Крамера. Программа метода гаусса слишком длинная и сложная. Если же сравнивать итерационные формулы, то они похожи друг с другом. Отличие только в расчетной формуле. И ещё число итераций у метода Гаусса-Зейделя меньше чем у метода простой итераций.

Тема №1 Численные решения систем нелинейных уравнений (СНУ)

Задача:

Дана функция

Найти корни с точностью e=0,001?

Решение:

Метод простой итераций

В отличии численного решения СЛАУ в данном случае не существует прямые методы решения систем нелинейных уравнений. Но для СНУ состоящий из двух уравнений можно выразить одно неизвестную через другое, и таким образом свести систему к решению уравнения с одним неизвестным.

Привели систему к виду для решений итераций:

Программа:

Sub MPI_CNY()

x10 = 0

x20 = 0

e = 0.001

n = 0

Do

x2 = Sin(x1 + 1) - 1.2

x1 = (2 - Cos(x2)) / 2

S = Abs(x1 - x10) + Abs(x2 - x20)

x10 = x1

x20 = x2

n = n + 1

Loop While c > e

Worksheets("СНУ").Range("B2").Value = x1

Worksheets("СНУ").Range("C2").Value = x2

Worksheets("СНУ").Range("D2").Value = n

EndSub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]