Таблица 8.2
| | (*i + *i)/2 | Л(х, + jc,)/2] |
| | 1,05 | -2,5526 |
1,05 | | 1,075 | 11,6497 |
1,05 | 1,075 | 1,0625 | 4,37346 |
1,05 | 1,0625 | 1,05625 | 0,86746 |
1,05 | 1,0563 | 1,05313 | -0,8532 |
1,0531 | 1,0563 | 1,05469 | 0,00445 |
1,0531 | 1,0547 | 1,05391 | -0,425 |
1,0539 | 1,0547 | 1,0543 | -0,2105 |
1,0543 | 1,0547 | 1,05449 | -0,103 |
1,0545 | 1,0547 | 1,05459 | -0,0493 |
1,0546 | 1,0547 | 1,05464 | -0,0224 |
1,0546 | 1,0547 | 1,05466 | -0,009 |
1,0547 | 1,0547 | 1,05468 | -0,0023 |
1,0547 | 1,0547 . | 1,05468 | 0,00109 |
1,0547 | 1,0547 | 1,05468 | -0,0006 |
1,0547 | 1,0547 | 1,05468 | 0,00025 |
1,0547 | 1,0547 | 1,05468 | -0,0002 |
1,0547 | 1,0547 | 1,05468 | 4.2Е-05 |
1,0547 | 1,0547 | 1,05468 | -6Е-05 |
Метод Ньютона-РаФсона
Метод Ньютона-Рафсона широко используется в итеративных процедурах и позволяет более быстро находить решения, чем метод деления пополам. Как и метод деления пополам, этот метод начинается с угадывания значения х. Пусть мы предполагаем х„. Тогда значение функции будет f(xn), оно также равно высоте вертикальной линии на рис. 8.2. Пусть касательная к кривой функции в точке (х„, Ахп)) пересекает ось х в точке хп+ \.
Вспомним, что в гл. 3, рассматривающей исчисления, мы встречались с понятием наклона кривой в точке, равного соотношению высота/интервал. Высота в нашем примере - этоУ(дги), а интервал - (х„-хп+\). Таким образом, зная длины сторон треугольника, можно найти наклон кривой:
Д Хп) =/(*„) (8.8)
Тогда
Лх„) =Пх„)(х„-х), (8.9)
xe+1=x-fixn)/f\x„). (8.10)
То есть результат каждой итерации находится через вычитание из результата по предыдущей итерации отношения функции Дх) к ее первой производной f(x). Однако это не срабатывает только тогда, когда случайным образом одна из хп является точкой, в которой f(x„) равно или близко к нулю (в этом случае, начав процедуру заново с того момента, когда произошел сбой, из новой точки, вы почти всегда решите возникшую проблему).
Рис. 8.2
Можно утверждать, что недостаток метода - необходимость предварительного нахождения f(x). Однако этого можно избежать, если заменить f(x) на конечное разностное приближение:
/(х + И) - Дх) И
(8.П)
где h очень мало и может уменьшаться при выполнении итерационного процесса. Следовательно, теперь в процесс может быть введен компьютер, чтобы рассчитать J[xn) и J[xn + h) (для текущих значений хп и я) и оценить
/(*«)
f(xn+h)-f(xn) И
(8.12)
Принимая во внимание сложность и продвинутость современных компьютерных алгебраических пакетов программ (которые должны были бы называться алгебраическо-вычи-слительными пакетами программ!), непосредственный расчет может производиться автоматически.
Теперь применим процедуру Ньютона-Рафсона к оценке облигации со сроком погашения 2,5 года. Мы уже отметили, что функция f(x) - 0 для этой облигации будет являться многочленом пятой степени, а именно:
Ах) = 98х5-5х4-5х3-5х2-5х-105 = 0. (8.13)
В начале итеративного процесса мы предполагаем, что х = 1,055. Заменив х на 1,055 в выражении (8.13), получим следующий результат:
fix) =98 • 1,0555-5 • 1,0554-5 • 1,0553-5 •
• 1,0552-5 • 1,055-105 =0,176625.
Мы должны скорректировать 1,055 в соответствии с результатом 0,176625 и значением первой производной функции (8.13) 551,2939. Тогда х\ - значение х во второй итерации равно
Повторное вычисление по формуле (8.12), но на этот раз для значения 1,054680 в качестве х, дает следующее:
fix) = 98 1,054680s-5 • 1, 0546804-5 • 1, 0546803-
-5 • 1, 0546802-5 • 1, 054680-105 =0,0001125. (8.14)
Далее мы корректируем 1,054680 в соответствии с результатом 0,0001125 и значением первой производной функции (8.14), равным 550,5916, и получаем х2 - значение х в третьей итерации:
Повторное вычисление по формуле (8.12) при х - 1,054679 дает
f(x) =98 • 1,054679s-5 • 1, 0546794-5 • 1, 0546793--5 • 1, 0546792-5 • 1, 054679-105 =0,000017.