Главная > Математика > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

1.5. Метод секущих

Если итерации расположены достаточно близко друг к другу, то производную в алгоритме Ньютона (1.13) можно заменить ее приближенным значением в виде отношения приращения функции

- к приращению аргумента Таким образом, запишем формулу метода секущих

Геометрический смысл такого изменения алгоритма Ньютона в том, что от аппроксимации функции касательной мы переходим к секущей (рис. 1.9).

Рис. 1.9. Метод секущих

Рис. 1.10. Блок-схема программы решения уравнения методом секущих

Для того чтобы начать итерационный процесс, - необходимо задать два начальных приближения Затем каждое новое приближение к корню получаем по формуле (1.19). Заканчиваем процесс уточнения корня при выполнении условия

где заданная абсолютная погрешность определения корня.

Метод секущих несколько уступает методу Ньютона в скорости сходимости, одна не требует вычисления производной левой части уравнения.

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

Программа решения уравнений методом секущих реализуется в виде трех блокэь (рис. 1.10). Состав и назначение блоков аналогичны схеме метода дихотомии (рис. 1.4).

Применим метод секущих к решению уравнения

где один из интегралов Френеля или для вычисления которых используем ряды [36]

Смысл решения уравнения (1.20) заключается в нахождении такого значения х, при котором один из интегралов Френеля принимает значение параметра .

В блоке 0 программы (строки 10-90) осуществляется ввод двух начальных приближений к корню абсолютной погрешности а также параметров задачи Первый параметр соответствует величине в уравнении (1.20), второй - обозначает условное число для выбора одного из двух интегралов Френеля; если то при функция После определения всех исходных данных осуществляется обращение к блоку 1 из строки 50 и вывод уточненного значения корня X на дисплей.

В блоке 1 - подпрограмме метода секущих (строки 100-190) - следует обратить внимание на то, что только на первой итерации левая часть уравнения вычисляется дважды, а затем используется ее предыдущее значение (опера в начальной строке 120 итерационного цикла). Подобный прием югвсгчет почти вдвое сократить объем вычислений, так как основное время при выполнении алгоритма (1.19) затрачивается на вычисление функции Переменная содержит разность между текущим и предыдущим приближением к корню Для программной реализации от формулы (1.19) переходим к соотношениям

Для вычисления интегралов Френеля формулы (1.21) преобразуем к виду

где

для функций полагаем а для функций

Суммирование ряда (1.22) осуществляем до тех пор, пока за счет добавления очередного слагаемого изменяется накопленная сумма.

В строках 200-210 блока 2 размещены операторы инициализации суммы, нулевых членов рекуррентных соотношений и вычисления вне цикла величины В строке 220 проводится получение очередного члена ряда и суммирование, причем переменная получает сразу значение левой части уравнения (1.20) с обратным знаком.

Если возникнет необходимость использовать блок 2 для вычисления интегралов Френ. в составе других программ, то первый оператор необходимо заменить на оператор а оператор

На языке Фортран (программа блок 1 реализован в виде подпрограммы входными параметрами которой являются начальные приближения абсолютная погрешность и имя подпрограммы-функции для вычисления левой части уравнения. Величина X является одновременно выходным параметром, поэтому при обращении к подпрограмме соответствующий фактический параметр должен быть переменной величиной. Другие фактические параметры, соответствующие формальным и могут быть как переменными, так и константами.

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

Для контроля приведем протокол выполнения программы

(см. скан)

(см. скан)

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление