Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Уточнение корней методом половинного деления (дихотомии)
Самым простейшим из методов уточнения корней является метод половинного деления, или метод дихотомии, предназначенный для нахождения корней уравнений, представленных в виде f(x)=0. Пусть непрерывная функция f(x) на концах отрезка [a, b] имеет значения разных знаков, т.е. f(a)* f(b) < = 0 (рис. 1), тогда на отрезке имеется хотя бы один корень. Возьмем середину отрезка с=(a+b)/2. Если f(a)* f(b) < = 0, то корень явно принадлежит отрезку от a до (a+b)/2 и в противном случае от (a+b)/2 до b.
Поэтому берем подходящий из этих отрезков, вычисляем значение функции в его середине и т.д. до тех пор, пока длина очередного отрезка не окажется меньше заданной предельной абсолютной погрешности (b-a)< e. Так как каждое очередное вычисление середины отрезка c и значения функции f(c) сужает интервал поиска вдвое, то при исходном отрезке [a, b] и предельной погрешности e количество вычислений n определяется условием (b-a)/2n< e, или n~log2((b-a)/e). Например, при исходном единичном интервале и точности порядка 6 знаков (e ~ 10-6) после десятичной точки достаточно провести 20 вычислений (итераций) значений функции. С точки зрения машинной реализации (рис. 2) этот метод наиболее прост и используется во многих стандартных программных средствах, хотя существуют и другие более эффективные по затратам времени методы.
Листинг программы в приложении
Результат работы программы Vvedite po porjadku 3 chisla koordinaty koncov otrezka a, b, tochost epsilon -1 1 0.01
x= 0.0000000000E+00 Pogreshnost rezultat = 1.0000000000E+00 Dlja prodolgenija nagmite lubuyu klavishu x=-5.0000000000E-01 Pogreshnost rezultat = 5.0000000000E-01 Dlja prodolgenija nagmite lubuyu klavishu x=-7.5000000000E-01 Pogreshnost rezultat = 2.5000000000E-01 Dlja prodolgenija nagmite lubuyu klavishu x=-6.2500000000E-01 Pogreshnost rezultat = 1.2500000000E-01 Dlja prodolgenija nagmite lubuyu klavishu x=-5.6250000000E-01 Pogreshnost rezultat = 6.2500000000E-02 Dlja prodolgenija nagmite lubuyu klavishu x=-5.9375000000E-01 Pogreshnost rezultat = 3.1250000000E-02 Dlja prodolgenija nagmite lubuyu klavishu x=-5.7812500000E-01 Pogreshnost rezultat = 1.5625000000E-02 Dlja prodolgenija nagmite lubuyu klavishu x=-5.7031250000E-01 Pogreshnost rezultat = 7.8125000000E-03 Dlja prodolgenija nagmite lubuyu klavishu
2 Метод итераций
|