Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / ЧМ.3 вариант / ЛР1.3варик.rtf
Скачиваний:
6
Добавлен:
18.10.2025
Размер:
847.31 Кб
Скачать

3) Уточнение корней Метод Итераций(вручную)

1. Исследование задания

  • Приведем уравнение f(x)=0 к виду x = ɸ(x) . Тогда рекуррентная формула xn+1 = ɸ(xn). Для сходимости процесса простых итерации необходимо, чтобы |ɸ’(x)| < 1 при x [1, 3]. Если |ɸ’(x)| >= 1 то сходимость не обеспечена.

Приведем уравнение ex – 4*e-x – 1 = 0 к виду x = x + 2*f(x)/(m1+M1) и проведем исследование. т.к. |ɸ’(1)| > 1.

  1. Расчет трех итераций

Для начала возьмем x0=0.

тогда получается x1 = 1.921756275 т.к.

x1 =x0+2*(ex – 4*e-x – 1) / ( =1.921756275

x2 = ex – 4*e-x – 1=2.0179655369

x3 = ex – 4*e-x – 1=2.0259770307

Таблица 1.1 — результаты

n

xn

F(xn)

0

1

-2.6931471806

1

1.921756275

-0.3790376315

2

2.0179655369

-0.0323981697

3

2.0259770307

-0.00265121

После 3 итераций x3= 2.0259770307

  1. Погрешность численного решения нелинейных уравнений

Оценим погрешность после трех итераций по формуле:

ε = |x3 - x2| = 2.0259770307 – 2.0179655369 = 0.0080015948

Метод Хорд (на программе)

1. Исследование задания

Проверка выполнения условий сходимости. Для сходимости метода необходимо знакопостоянство f’’(x) на отрезке [a;b].

Выбор начального приближения. Вид рекуррентной формулы зависит от того, какая из точек a или b является неподвижной. Неподвижен тот конец отрезка [a;b] , для которого знак функции f(x)совпадает со знаком ее второй производной. Тогда второй конец отрезка можно принять за начальное приближение к корню, то есть точку х0.

Рекуррентная формула метода хорд в [1]:

Выше было показано, что для функции f(x)=ex – 4*e-x – 1 f’’(x)<0 на отрезке [0;1]неподвижной точкой является точка x=b=1, так как f’’(x)*f(1)>0.

Таким образом, полагая x0=a=0, получим сходящуюся последовательность приближений к корню.

В рассматриваемой задаче рекуррентная формула принимает следующий вид

  1. Результаты программы.

Cоздать функцию, реализующую метод половинного деления

Функция для вычисления приближенного значения

def f(x): return x**2 - 2*x - 3 a = -10 b = 10 epsilon = 0.001 def func(x): return f(x)

def chord(a, b): return b - ((b - a) / (func(b) - func(a))) * func(b)

while abs(func(b)) > epsilon: b = chord(a, b) print("Корень уравнения:", b)

И его результат

После трех итераций приближение к корню x3=2.026689263243525

Таблица 2.1 — результаты программы

x

f(x)

f’(x)

f’’(x)

1.

-2.69314718

1.5

0.13008934

1.2

-2.34845736

1.94545455

0.11676592

1.4

-1.91546874

2.38333333

0.10582704

1.6

-1.39551145

2.81538462

0.09669307

1.8

-0.78961942

3.24285714

0.08895697

2.

-0.09861229

3.66666667

0.08232473

2.2

0.67684919

4.0875

0.07657887

2.4

1.53622457

4.50588235

0.07155511

2.6

2.47906615

4.92222222

0.06712716

2.8

3.50499893

5.33684211

0.06319632

3

4.61370564

5.75

0.05968444

Таблица 2.2 — результаты программы

к

x

f(x)

1

3

0.5510891827598128

2

2.009263268525943

0.6671122276956227

Выводы

  • Проведён анализ поставленной задачи. Необходимо было выбрать индивидуальное задание, отделить корни заданного уравнения графическим и аналитическим методом, для каждого из заданных методов провести исследование функции нелинейного уравнения, с использованием итерационной формулы 1-го заданного метода провести расчет трех итераций с использованием средств мат. пакета, оценить погрешность результата после 3-х итераций, для 2-го заданного метода выполнить решение уравнения с точностью 10-4, создав программу, реализующую заданный метод.

  • Результаты предварительного и программного расчётов, приведены в разделе 2 и 3.

Соседние файлы в папке ЧМ.3 вариант