назад Оглавление вперед


[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [ 126 ] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176]


126

Таблица 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.

[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [ 126 ] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176]