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

Определить корни уравнения графически и уточнить один из них итерационными методами.

, .

График функции на отрезке [0.2, 1]. Как видно из графика, решение около 0,45.

Метод деления отрезка пополам

Исходные данные:

a

b

e

x

f(x)

0,2

1

0,01

0,46875

0,023893

Программа:

Public Function F(x)

F = (x + 1) ^ 2 - 1 / x

End Function

Public Sub Popolam()

a = Cells(2, 1)

b = Cells(2, 2)

e = Cells(2, 3)

1 x = (a + b) / 2

If F(a) * F(x) < 0 Then b = x Else a = x

If (b - a) >= e Then GoTo 1

Cells(2, 4) = x

Cells(2, 5) = F(x)

End Sub

Метод Ньютона (метод касательных)

Проверяем выполнение условия сходимости на концах заданного интервала: - выполняется. За начальное приближение корня можно принять .

Исходные данные:

x0

e

x

F(x)

0,2

0,01

0,46557

-1,02E-05

Программа:

Public Function F(x)

F = (x + 1) ^ 2 - 1 / x

End Function

Public Function F1(x)

F1 = 2 * (x + 1) + 1 / x / x

End Function

Public Sub Nyton()

x = Cells(2, 1)

e = Cells(2, 2)

1 xk = x - F(x) / F1(x)

If Abs(xk - x) >= e Then x = xk: GoTo 1

Cells(2, 3) = xk

Cells(2, 4) = F(xk)

End Sub

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

Определяем значение M:

Исходные данные:

x0

e

M

x

F(x)

1

0,001

6

0,465699

0,000963

Программа:

Function F(x)

F = (x + 1) ^ 2 - 1 / x

End Function

Sub Iter()

x = Cells(2, 1)

e = Cells(2, 2)

M = Cells(2, 3)

1 xk = x - F(x) / M

If Abs(xk - x) >= e Then x = xk: GoTo 1

Cells(2, 4) = xk

Cells(2, 5) = F(xk)

End Sub

  1. Решение слау (систем линейных алгебраических уравнений)

Решить систему уравнений методом Гаусса:

Решение приведено в другом документе (в приложении).

  1. Решение слау (систем линейных алгебраических уравнений)

Решить систему уравнений методом прогонки (или итерационным методом с точностью 0,01)

Метод прогонки

Исходные данные:

a

b

c

d

x

r

0

3

1

5

1,344086

-8,9E-16

1

4

-1

3

0,967742

-4,4E-16

-1

5

1

12

2,215054

1,78E-15

1

2

0

6

1,892473

0

Программа:

Public Sub Progonka()

Const n = 4

Dim a(n), b(n), c(n), d(n), u(n), v(n), x(n + 1), r(n)

For i = 1 To n

a(i) = Cells(i + 1, 1)

b(i) = Cells(i + 1, 2)

c(i) = Cells(i + 1, 3)

d(i) = Cells(i + 1, 4)

u(i) = -c(i) / (a(i) * u(i - 1) + b(i))

v(i) = (d(i) - a(i) * v(i - 1)) / (a(i) * u(i - 1) + b(i))

Next i

For i = n To 1 Step -1

x(i) = u(i) * x(i + 1) + v(i)

Next i

For i = 1 To n

r(i) = d(i) - a(i) * x(i - 1) - b(i) * x(i) - c(i) * x(i + 1)

Cells(i + 1, 5) = x(i)

Cells(i + 1, 6) = r(i)

Next i

End Sub

Решить систему уравнений итерационным методом с точностью 0,01

Метод Якоби

x1

x2

x3

x4

0

0

0

0

1,666667

0,75

2,4

3

1,416667

0,933333

1,95

1,8

1,355556

0,883333

2,226667

2,025

1,372222

0,967778

2,171667

1,886667

1,344074

0,949861

2,216222

1,914167

1,350046

0,968037

2,207139

1,891889

1,343988

0,964273

2,21523

1,896431

1,345242

0,96781

2,213569

1,892385

1,344063

0,967082

2,215085

1,893216

Программа

Public Sub Prog2()

Dim X1(10), X2(10), X3(10), X4(10)

X1(1) = Cells(2, 1)

X2(1) = Cells(2, 2)

X3(1) = Cells(2, 3)

X4(1) = Cells(2, 4)

For i = 2 To 10

X1(i) = (5 - X2(i - 1)) / 3: Cells(i + 1, 1) = X1(i)

X2(i) = (3 - X1(i - 1) + X3(i - 1)) / 4: Cells(i + 1, 2) = X2(i)

X3(i) = (12 + X2(i - 1) - X4(i - 1)) / 5: Cells(i + 1, 3) = X3(i)

X4(i) = (6 - X3(i - 1)) / 2: Cells(i + 1, 4) = X4(i)

Next i

End Sub

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

x1

x2

x3

x4

0

0

0

0

1,666667

0,333333

2,466667

1,766667

1,555556

0,977778

2,242222

1,878889

1,340741

0,97537

2,219296

1,890352

1,341543

0,969438

2,215817

1,892091

1,343521

0,968074

2,215197

1,892402

1,343975

0,967805

2,215081

1,89246

1,344065

0,967754

2,215059

1,892471

1,344082

0,967744

2,215055

1,892473

1,344085

0,967742

2,215054

1,892473

Программа

Public Sub Prog3()

Dim X1(10), X2(10), X3(10), X4(10)

X1(1) = Cells(2, 1)

X2(1) = Cells(2, 2)

X3(1) = Cells(2, 3)

X4(1) = Cells(2, 4)

For i = 2 To 10

X1(i) = (5 - X2(i - 1)) / 3: Cells(i + 1, 1) = X1(i)

X2(i) = (3 - X1(i - 1) + X3(i - 1)) / 4: Cells(i + 1, 2) = X2(i)

X3(i) = (12 + X2(i - 1) - X4(i - 1)) / 5: Cells(i + 1, 3) = X3(i)

X4(i) = (6 - X3(i - 1)) / 2: Cells(i + 1, 4) = X4(i)

Next i

End Sub

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