- •1.2. Общее задание
- •Выбрать индивидуальное задание из табл. 1-1:
- •2) Отделение корней
- •3) Уточнение корней Метод Итераций(вручную)
- •1. Исследование задания
- •Расчет трех итераций
- •Погрешность численного решения нелинейных уравнений
- •Метод Хорд (на программе)
- •1. Исследование задания
- •Результаты программы.
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.
Расчет трех итераций
Для начала возьмем 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
Погрешность численного решения нелинейных уравнений
Оценим погрешность после трех итераций по формуле:
ε = |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, получим сходящуюся последовательность приближений к корню.
В рассматриваемой задаче рекуррентная формула принимает следующий вид
Результаты программы.
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.
