Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЯ ОБЪЕДИНЕННЫМ МЕТОДОМ И МЕТОДОМ КАСАТЕЛЬНЫХ




Мы рассмотрели два метода уточнения изолированного корня уравнения вида F(х) =0, а именно, метод половинного деления (метод дихотомии) и метод хорд. При этом алгоритм отделения корней мы применяли отдельно для каждого изолированного отрезка, содержащего корень. Можно объединить алгоритм отделения и уточнения корней. Создадим объединенный алгоритм отделения корней и, например, алгоритм метода половинного деления для уточнения корней. Он позволит находить все корни уравнения. При этом метод дихотомии оформим в виде подпрограммы, к которой будем обращаться, когда будет найден очередной локальный отрезок, содержащий корень.

Рассмотрим рис. 11. Точка А – левый конец большого интервала из области определения функции F(х), В – его правый конец, h – шаг для поиска малых интервалов (х1, х2), содержащих корень, e – точность вычисления корня.

Запишем объединенный алгоритм отделения корней, а в нем как подпрограмму оформим алгоритм уточнения изолированных корней методом дихотомии.

 

Рис. 11. Иллюстрация к объединенному методу отделения и уточнения корней

ОБЪЕДИНЕННЫЙ АЛГОРИТМ ОТДЕЛЕНИЯ КОРНЕЙ
И УТОЧНЕНИЯ ИХ МЕТОДОМ ДИХОТОМИИ

 

ШАГ 1. Определяем функцию F(х).

ШАГ 2. Вводим исходные данные А, В, h, e .

ШАГ 3. Организуем счетчик корней данного уравнения и полагаем его равным нулю, т.е. К=0.

ШАГ 4. Полагаем х1 = А и х2 = х1 + h.

ШАГ 5. Вычисляем значение функции на левом конце малого интервала:


у1 = F(x1).

ШАГ 6. Проверяем, не вышли ли мы за пределы отрезка АВ, т.е. проверяем х2 > B?

Если ответ на этот вопрос положительный, то переходим на конец задачи (шаг 11), в противном случае вычисляем значение функции на правом конце малого интервала: у2 = F(x2).

ШАГ 7. Проверяем знак произведения функций у1·у2. Если он положительный, то функция на концах текущего малого интервала имеет одинаковый знак, следовательно, корня на этом интервале нет, переходим на шаг 8, в противном случае выполняем шаг 9.

ШАГ 8. Для перехода к следующему малому интервалу присваиваем значения правого конца малого интервала его левому концу, а именно,

х1 = х2, вычисляем новый правый конец малого интервала х2 = х1 + h и перезапоминаем значения функций на концах малого интервала, т.е. y1 = y2. После этого возвращаемся на шаг 6.

ШАГ 9. Если знак произведения функций отрицательный, то функция на концах малого интервала имеет разные знаки и, стало быть, на этом интервале есть корень. Увеличиваем счетчик корней на единицу, К = К + 1, и уходим в подпрограмму уточнения корней методом половинного деления на данном малом интервале.

ШАГ 10. Печатаем номер уточненного в подпрограмме k-го корня и его значение х. Возвращаемся на шаг 8.

ШАГ 11. Конец задачи.

АЛГОРИТМ ПОДПРОГРАММЫ

МЕТОДА ПОЛОВИННОГО ДЕЛЕНИЯ

Входные параметры подпрограммы:

    х1 – левый конец интервала, содержащего корень;

    х2 - правый конец интервала, содержащего корень.

    Выходной параметр подпрограммы: искомое значение корня х на текущем малом интервале.

ШАГ 1. Вычисляем середину отрезка, содержащего корень, с = (х1 + х2)/2.

ШАГ 2. Определяем интервал, на котором функция сменила знак. Для этого вычисляем значения функции в точках, например, х1 и с, и выясняем знак их произведения. Если F(х1) F(с) < 0 , то х2 = с, в противном случае х1 = с.

ШАГ 3. Проверяем, не стала ли длина отрезка [х1, х2] меньше наперед заданного e; если модуль разности между х1 и х2 остается больше e, то переходим на шаг 1.

ШАГ 4. Проверяем, насколько мал модуль разности значений функции в двух соседних точках х1 и х2. Если ½f(x1) – f(x2) ½> e , то переходим на шаг 1, в противном случае переходим на шаг 5.

ШАГ 5. Вычисляем х = (х1 + х2)/2.

ШАГ 6. Выход из подпрограммы.

Примечание. В подпрограмме уточнения корня методом дихотомии для проверки точности берется не только длина текущего отрезка [х1, х2], но и модуль разности значений функции на его концах.

КОНТРОЛЬНЫЙ ПРИМЕР ДЛЯ ОБЪЕДИНЕННОГО АЛГОРИТМА ОТДЕЛЕНИЯ КОРНЕЙ И УТОЧНЕНИЯ ИХ ЗНАЧЕНИЙ МЕТОДОМ ДИХОТОМИИ

    С помощью программы, реализующей объединенный алгоритм отделения корней и уточнения их значений методом дихотомии, найти все корни уравнения cos x – lg x = 0 на отрезке [0,5; 10].

Ответ. Х1 = 1,4184; Х2 = 5,5521; Х3= 6,8631.

УТОЧНЕНИЕ ЗНАЧЕНИЯ ИЗОЛИРОВАННОГО КОРНЯ МЕТОДОМ КАСАТЕЛЬНЫХ (МЕТОД НЬЮТОНА)

Метод основан на замене F(х) в точке начального приближения х = х0 касательной, пересечение которой с осью х дает первое приближение к корню х1 (рис.12).

 

 


Рис. 12. Иллюстрация к методу касательных

 

    В качестве х0 выбирают тот конец отрезка [a, b], на котором знаки F(x0) и F´´(x0) совпадают. Уравнение касательной, проведенной к графику функции в точке х0 выглядит так:

x1 = x0

    В общем виде можно записать:

xn+1 = xn

Вычисления следует повторять до тех пор, пока ½хn +1 xn½³ e .

Запишем алгоритм метода касательных.

 

АЛГОРИТМ УТОЧНЕНИЯ ИЗОЛИРОВАННОГО КОРНЯ МЕТОДОМ КАСАТЕЛЬНЫХ

ШАГ 1. Вводим концы отрезка, содержащего корень и требуемую точность вычислений, а именно, а – левый конец отрезка, содержащего корень, b – правый конец этого отрезка, e – точность вычислений.

ШАГ 2. Вычисляем значение функции на левом конце отрезка: F1 = F(a).

ШАГ 3. Вычисляем значение функции на правом конце отрезка: F2 = F(b).

ШАГ 4. Вычисляем значение второй производной на левом конце отрезка:

F3 = F ¢¢(a).

ШАГ 5. Вычисляем значение второй производной на правом конце отрезка: F4 = F ¢¢(b).

ШАГ 6. Определяем, какой конец отрезка будем брать в качестве начального приближения. Для этого определяем, совпадают ли знаки функции и ее второй производной на концах отрезка. Если F1 F3 > 0, то х0 = а, и переходим на ШАГ 7, иначе проверяем, если F2 F4 > 0, то х0 = b, и переходим на ШАГ 7, иначе выводим на печать сообщение “На этом отрезке корня уравнения нет” и уходим на ввод нового отрезка, т.е. на ШАГ 1.

ШАГ 7. Вычисляем значение функции в точке начального приближения: F5 = F(x0).

ШАГ 8. Вычисляем значение первой производной функции в точке начального приближения: F6 = F ¢(x0).

ШАГ 9. Вычисляем следующее приближение к корню: х1 = х0 F5/F6.

ШАГ 10. Проверяем, насколько близки два соседних приближения: если ½х1х0½³ e, то х0 = х1, и переходим на ШАГ 7 , иначе выводим на печать найденное значение корня х1.

ШАГ 11. Конец задачи.










Последнее изменение этой страницы: 2018-06-01; просмотров: 262.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...