Главная страница

Решение уравнений методами Простой итерации и методом Зейделя программным способом. 3лаба. Отчет По дисциплине Вычислительная математика Лабораторная работа 3


Скачать 419.19 Kb.
НазваниеОтчет По дисциплине Вычислительная математика Лабораторная работа 3
АнкорРешение уравнений методами Простой итерации и методом Зейделя программным способом
Дата16.11.2019
Размер419.19 Kb.
Формат файлаdocx
Имя файла3лаба.docx
ТипОтчет
#95476
страница2 из 3
1   2   3


Неизвестные

Решение на ПК

Ручной счет

E=0.1

E=0.01

E=0.0001

X1

0,256

0,227

0,226

0,226

X2

0,268

0,246

0,246

0,246

X3

-0,470

-0,428

-0,430

-0,430

К

3

7

13

13

Метод Зейделя

Приведем к виду:
x1=0.2-0.1x2+0.6x3
x2=0.583+0.42x1-0.33x3
x3=0.125+0.38x1+0.25x2

N=1
x1=0.2 - 0 • (-0.1) - 0 • 0.6=0.2
x2=0.583 - 0.2 • 0.417 - 0 • (-0.333)=0.5
x3=0.125 - 0.2 • 0.375 - 0.5 • 0.25=-0.075
N=2
x1=0.2 - 0.5 • (-0.1) - (-0.075) • 0.6=0.295
x2=0.583 - 0.295 • 0.417 - (-0.075) • (-0.333)=0.435
x3=0.125 - 0.295 • 0.375 - 0.435 • 0.25=-0.0945



Решение метода Зейделя при помощи программы

Module Module1

Sub Main()

Dim n, i, k As Integer

Console.WriteLine("Решение систем линейных уравнений")

Console.WriteLine("Метод Зейделя")

Console.Write("Число уравнений=")

n = Console.ReadLine()

Dim a(n, n), e, d, f, c, b(n), x(n), y(n), z As Double

Console.Write("Погрешность=")

e = Console.ReadLine()

For i = 1 To n

For j = 1 To n

Console.Write("a({0},{1})=", i, j)

a(i, j) = Console.ReadLine()

If j = n Then

Console.Write("b({0})=", i)

b(i) = Console.ReadLine()

End If

Next

Next

k = 1

For i = 1 To n

x(i) = b(i) / a(i, i)

Next

1: d = 0

For i = 1 To n

z = 0

For j = 1 To n

z = z + a(i, j) * x(j)

Next

y(i) = x(i) - (z - b(i)) / a(i, i)

c = Math.Abs(y(i) - x(i))

If c > d Then

d = c

End If

x(i) = y(i)

Next

If d <= e Then

GoTo 3

End If

If k = 1 Then

GoTo 2

End If

If d >= f Then

GoTo 4

End If

2: f = d

k = k + 1

GoTo 1

3: For i = 1 To n

Console.WriteLine("x({0})={1}", i, x(i))

Next

Console.Write("Число итераций={0}", k)

GoTo 5

4: Console.Write("Не сходиться")

5: Console.ReadLine()

End Sub

End Module

Решение в программе метода Зейделя

1   2   3


написать администратору сайта