Метод половинного деления

Апрель 26, 2009 / Автор AlexR / Рубрики Статьи, Численные методы / Ответ

Теоретическая часть

Метод половинного деления также называют методом дихотомии. Этот метод решения уравнений отличается тем, что для него не требуется выполнения условия, что первая и вторая производная сохраняют знак на интервале [a, b]. Метод половинного деления сходится для любых непрерывных функций f(x) в том числе недифференцируемых.

Разделим отрезок [a, b] пополам точкой x1=(a+b)/2. Eсли f(x1)<>0(что практически наиболее вероятно), то возможны два случая: либо f(x) меняет знак на отрезке [a, x1] (Рис. 1), либо на отрезке [x1, b] (Рис. 2).

Рисунок 1

Рисунок 1

Рисунок 2

Рисунок 2

Выбирая в каждом случае тот отрезок, на котором функция меняет знак, и продолжая процесс половинного деления дальше, можно дойти до сколь угодно малого отрезка, содержащего корень уравнения.

Оценка погрешности: После n делений, очевидно, что погрешность можно оценить следующим образом:|ksi - xn|<=(b-a)/2^n, так как она при каждом последующем делении уменьшается на 2, то |ksi-x{n+1}|<=0.5*|ksi-xn|, поэтому ?=1, а c=0,5 (скорость сходимости), где ? – точное значение функции.

Подготовка к решению задачи

Алгоритм:

1)             Вводим a,b (левый край промежутка и правый) и e (относительная погрешность);

2)             Считаем функцию в точке a и в точке b;

3)             Если f(a)*f(b)<0 тогда переходим в п. 4) иначе выводим сообщение об ошибке «на введенном интервале функция одного знака» и завершаем алгоритм;

4)             Считаем x=0.5*(a+b);

5)             Если f(a)*f(b)>0 тогда a=x, иначе b=x;

6)             Считаем погрешность d=(b-a)/|x|;

7)             Если d>e тогда переходим к п. 3) иначе к п.8);

8)             Выводим на экран сообщение: «Ответ:», выводим х, считаем f(x), выводим f(x);

9)             Завершаем алгоритм.

Описание входной информации: a – левая граница промежутка, b – правая граница промежутка, e – относительная погрешность.

Описание выходной информации: x – приближенное значение корня, F – значение функции в найденном корне, n – количество итераций.

Ссылки для скачивания:
Метод половинного деления на MatLab7
Метод половинного деления на Pascal ABC

Вернуться назад

Комментарии (2) к “Метод половинного деления”

Комментарии

  1. AlexR

    Не за что
    =)

  2. AIdos ertaev

    SPS BOLWOOOOOOOOOOOOOOOOOOOOOOOOOOOOOEEEEE ELE NAWEL ETOT METOD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ответ