Уточнение корней уравнения методом половинного деления
В приведенной программе заданная точность обозначена eps, a граница погрешности текущего значения корня определяется через разность b — а. Еще раз напомним, что эта разность отождествлена в алгоритме с погрешностью метода; вычислительная же погрешность значения х как результат ошибки вычисления по формуле х= (а + b)/2 в программе в явном виде не регистрируется. И связана только с погрешностью… Читать ещё >
Уточнение корней уравнения методом половинного деления (реферат, курсовая, диплом, контрольная)
При решении уравнения, как правило, заранее задается допустимая погрешность е приближенного значения корня. В процессе уточнения корней требуется найти их приближенные значения, отличающиеся от точных не более чем на ?.
Описанный выше способ табулирования может рассматриваться и как способ уточнения корня (хотя и крайне неэффективный). При этом можно либо постепенно уменьшать шаг табулирования, приближая его к значению ?, либо сделать это сразу, полагая h = ?. В любом случае получим b — а < ?. Тогда в качестве искомого значения корня можно выбрать середину этого отрезка, т. е. положить = (а + b)/2.
Гораздо более эффективным, чем табулирование с постоянным шагом, является так называемый метод половинного деления.
Пусть уравнение F (x)=0 имеет на отрезке [а; b] единственный корень, причем функция F (x) на этом отрезке непрерывна. Разделим отрезок [а; b] пополам точкой с = (а + b)/2. Если F (c) 0 (что практически наиболее вероятно), то возможны два случая: F (x) Меняет знак либо на отрезке [а; с] (рис. 4, а), либо на отрезке [a; b] (рис. 2.6, б). Выбирая в каждом случае тот из отрезков, на котором функция меняет знак, и продолжая процесс половинного деления дальше, можно дойти до сколь угодно малого отрезка, содержащего корень уравнения.
Метод половинного деления вполне можно использовать как метод решения уравнения с заданной точностью. Действительно, если на каком-то этапе процесса получен отрезок [а; b], содержащий корень, то, приняв приближенно х = (а + b)/2, получим ошибку, не превышающую значения.
(3.).
(заметим, что речь в данном случае идет о погрешности метода). Метод половинного деления требует утомительных ручных вычислений, однако он легко реализуется с помощью программы на компьютере (блок-схему алгоритма см. на рис. 5). Отметим, что даже если на каком-то этапе деления отрезка пополам получится F (c) = 0, это не приведет к сбою алгоритма.
Уравнение имеет единственный корень на отрезке [0,4; 0,5] (см. пример 1). Решим это уравнение с точностью до 1*10-4 методом половинного деления с помощью программы для компьютера.
В соответствии с блок-схемой алгоритма, изображенной на рис. 5, программа на языке Turbo Pascal имеет вид, также сразу покажем результат работы программы:
В приведенной программе заданная точность обозначена eps, a граница погрешности текущего значения корня определяется через разность b — а. Еще раз напомним, что эта разность отождествлена в алгоритме с погрешностью метода; вычислительная же погрешность значения х как результат ошибки вычисления по формуле х= (а + b)/2 в программе в явном виде не регистрируется. И связана только с погрешностью машинного представления. программа алгебраический уравнение трансцендентный.