Читайте также:
|
|
Цель работы: научиться разрабатывать и отлаживать программы для нахождения корней нелинейных уравнений численными методами
Пусть задано уравнение f(x)=0 и интервал [ a, b ], где функция f(x) непрерывна и имеет разные знаки на концах интервала.
Алгоритм нахождения корня на интервале методом половинного деления (бисекции) сводится к следующей схеме:
1) вычисляется середина интервала c = (a + b)/2;
2) если |f(c)| < e, где e = 10-3 - 10-5 определяет погрешность вычислений, то c будет являться приближенным значением корня уравнения и выводится как результат расчетов;
3) если |f(c)| > e, то проверяются знаки функций f(a) и f(c) на концах отрезка [ a,c ], для чего вычисляется их произведение. Если f(a)f(c)<0, то функции будут иметь противоположные знаки и корень находится на отрезке [ a,c ]. В этом случае интервал [ a,b ] заменяется отрезком [ a,c ], для чего присвоим b = c;
4) иначе, если f(a)f(c)>0, корень уравнения находится на отрезке [ c,b ] и в рас- четах интервал [ a,b ] заменяется на [ c,b ], для чего присвоим a = c;
5) вычисления по схеме п.1-п.4 повторяются в итерационном цикле до тех пор, пока не выполнится условие п.2 - |f(c)|< e.
В случае метода хорд схема алгоритма расчета корня уравнения остается прежней за исключением п.1, в котором используется формула
c=(a f(b)- b f(a))/(f(b)-f(a)).
Для исключения зацикливания следует правильно определять начальный интервал [ a,b ], чтобы выполнялось условие f(a)f(b)<0. Структурная схема алгоритма для метода половинного деления приведена на рис.13.
Дата добавления: 2015-09-05; просмотров: 42 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Program zapis; | | | Задание (программа_13) |