Необходимо найти корень функции на отрезке [0, 1]. Степень точности e = 10–6.
Метод вилки
Проверим значение функции на концах отрезка:
< 0; > 0.
Значит, уравнение решается согласно теореме Больцано–Коши. Построим таблицу:
A | B | C | D | E | F | G | H | I | |
№ | a | b | (a+b)/2 | f(a) | f(b) | f((a+b)/2) | delta | Условие | |
· в столбце A будем записывать номер итерации;
· в столбце B – значения отрезка [ a, b ] с его левой стороны, соответственно в столбце C – значения отрезка [ a, b ] с его правой части;
· в столбце D формулу среднеарифметического значения = (a + b)/2;
· в столбце E формулу = а – сos (а);
· в столбце F формулу = b – сos (b);
· в столбце G функцию ;
· в столбце H формулу = abs (a – b);
· в столбце I формулу, по которой проверяют условие delta < 2×10–6.
Если условие выполняется, в ячейках столбца I записать текст «Корень определен», если не выполняется, то следует записать «Поиск продолжается».
После каждого шага проверяем знак функции на концах отрезка и в следующей строке таблицы присваиваем значение середины отрезка одному из концов согласно следующему алгоритму:
an = a (n – 1), bn = c, если f(c)f(a (n –1)) < 0,
an = c, bn = b (n – 1), если f(с)f(a (n –1)) > 0.
После определения корня функции, сравниваем значение N количества итераций c предсказанным по формуле .
Метод итераций
Преобразуем функцию к виду: x = сos (x) и построим таблицу
A | B | C | D | E | F | G | |
№ | x | fi(x) | fi’(x) | delta | Погрешность | Условие | |
· в столбце A запишем номер итерации;
· в столбце B значение аргумента, начиная со значения x 0 = 0,5. В последующих строках задаем это значение равным предыдущему значению функции fi(x);
· в столбце С формулу = сos (x);
· в столбце D производную от сos (x)[†]*;
· в столбце E формулу разности = abs (fi(x) – x);
· в столбце F формулу, по которой проверяют условие fi’(x) < 0; если условие выполняется, то в ячейках столбца F значение равно 10–6, если не выполняется, то рассчитывается значение , где q = (1 + abs (сos’(x)))/2;
· в столбце G формулу delta < Погрешность. Если условие выполняется, то в ячейках столбца G записываем текст «Корень определен»; если не выполняется, то «Поиск продолжается».
После нахождения корня функции следует сравнить количество итераций с данными по предыдущему методу.
Метод касательных
Представим каждое последующее значение приближения корня в виде
,
после чего выполним следующее:
1. Определим минимальное значение модуля первой производной на отрезке [0, 1] и максимальное значение модуля второй производной на этом отрезке.
Значения x примем от 0 до 1 с шагом 0,05.
A | B | C | D | |
№ | x | abs (f’(x)) | abs (f”(x)) | |
… | ||||
min(abs (f’(x)) = | ||||
max(abs (f”(x)) = |
2. Определим значение (запишем его в свободную ячейку).
3. Построим расчетную таблицу:
A | B | C | D | E | |
№ | x(i) | x(i+ 1 ) | delta | Условие | |
· в столбце A запишем номер итерации;
· в столбце B значение аргумента. Начнем со значения x 0 = 1, а в последующих строках зададим это значение равным предыдущему значению x (i +1);
· в столбце C формулу = ;
· в столбце D формулу разности = abs (x (i +1) – xi);
· в столбце E формулу, по которой можно проверить условие delta < ε0.
Если условие выполняется, то в ячейках столбца E записываем текст «Корень определен», если не выполняется, то текст «Поиск продолжается».
После нахождения корня функции нужно выполнить действия:
· сравнить количество итераций с данными, полученными по предыдущим методам;
· построить график зависимости x от abs (f’(x) (точечная диаграмма);
· определить уравнение линии тренда.