
- •Краткая рецензия:
- •Оглавление
- •1. Формулировка задания
- •2. Аналитическое решение
- •3. Метод половинного деления
- •3.1. Анализ задачи
- •3.2. Алгоритм действий
- •3.3. Блок схема
- •3.4. Отладка задачи
- •4. Метод простых итераций
- •4.1. Анализ задачи
- •4.2. Алгоритм действий
- •4.3. Блок-схема
- •4.4. Отладка задачи
- •5. Метод хорд
- •5.1. Анализ задачи
- •5.2. Алгоритм действий
- •5.3. Блок-схема
- •5.4. Отладка задачи
- •6. Метод Ньютона
- •6.1. Анализ задачи
- •6.2. Алгоритм действий
- •6.3. Блок-схема
- •6.4. Отладка задачи
- •7. Заключение
6.2. Алгоритм действий
Объявляем переменные E, n, x0, x1, x2, fx0, fx1, dx0, dx1;
Присваиваем переменной n тип данных BYTE; E – SINGLE; , x1, x2, fx0, fx1, dx0, dx1- DOUBLE;
Присваиваем переменным x0, E, n начальные значения 2, 0.001, 37 соответственно;
Вычисляем значение fx0 по формуле (6.7.), т.е. находим значение функции с аргументом (приращением) x0;
Вычисляем значение dx0 по формуле (6.9.), тем самым находим значение производной (тангенса угла наклона касательной) в точке x0;
Найдем приближение x1, т.е. абсциссу точки пересечения касательной с осью OX, по формуле (6.11), подставляя в нее предыдущее приближение x0 и значения fx0 и dx0, найденные в 4 и 5 действиях;
Вычисляем значение fx1 по формуле (6.8.), т.е. находим значение функции со следующим аргументом (приращением) x1;
Вычисляем значение dx1 по формуле (6.10.), тем самым находим значение производной (тангенса угла наклона касательной) в точке x1;
Найдем приближение x1, т.е. абсциссу точки пересечения новой касательной с осью OX, по формуле (6.12), подставляя в нее предыдущее приближение x1 и значения fx1 и dx1, найденные в 7 и 8 действиях;
Присваиваем переменной x0 значение переменной x2, этим действием мы задаем новый аргумент для последующей итерации;
Выводим значения x1, x2 на лист;
Присваиваем переменной n новое значение, используя формулу (6.14.);
Ставим условие (6.13.);
Если оно выполняется, условный цикл завершается;
В противном случае программа возвращается и заново выполняет действия с 4 по 13. Цикл будет повторяться до тех пор, пока разность значений x2 и x1 не будет удовлетворять точности заданной в условии;
Выводим конечное значение переменной x2 на лист, сохраняем результаты в таблице Excel.
6.3. Блок-схема
Рисунок 6.2.
6.4. Отладка задачи
Отладка задачи выполнялась вручную и с использованием вычислений в Excel.
Результаты расчета по программе:
Таблица 6.1.
x1 |
x2 |
x |
1,357143 |
1,161668 |
1,14404 |
1,144174 |
1,14404 |
|
Результаты расчета в Excel:
Таблица 6.2.
x1 |
x2 |
Ix2-x1I |
x |
1,357143 |
1,161668 |
0,195475 |
1,14404 |
1,144174 |
1,14404 |
0,000134 |
|
Вывод: данные расчета по разработанной программе и контрольных вычислений имеют полное совпадение. Следовательно, программа написана верно.
7. Заключение
В ходе проделанной работы мной был найден действительный корень кубического уравнения (1.1.) пятью разными способами: аналитическим, методом половинного деления, методом простых итераций, методом хорд, методом Ньютона.
Отметим, что самым быстрым был метод Ньютона: для нахождения корня потребовалось всего 2 итерации. А самым медленным и громоздким оказался метод половинного деления – 12 итераций для решения данной задачи.
Сравнивая полученные значения корня, можно заметить, что они отличаются не более чем на 0,0005. Это говорит о том, что значение корня найдено верно.
Итак, запишем окончательное значение
найденного корня с точностью до трех
значащих цифр после запятой:
.