Главная -> Книги

(0) (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) (28)

Программа 5.15. Реализация метода простых итераций с остановкой по критерию машинного нуля, т.е. при Хл+i = х„ с точностью до последнего знака. Ввод: данные f[x), ко = РХ.

ПД...........................

...... ИПД XY ПД - Fx = 0 01 ИПД С/П

Для приведенного выше примера получим »= 1-,1713298 при « 60 с.

Высокую скорость сходимости итерационного процесса имеет метод Ньютона (касательных), реализуемый итерационным уравнением вида

Xn+i Хп -F(x„)/F{x„). (8.16);

Сходимость обеспечивается при выборе начального приближения хо, удовлетворяющего условию

F{xo)-F"ixo)>0. (5.16)

В качестве Хо выбирается тот конец интервала [о, Ь], иа котором знаки F(x) и F"(x} совпадают.

Программа 5.1в. Реализация метода Ньютона с остановкой вы-числений по критерию машинного нуля. Ввод: данные F{x„)/F{x) при х„ - РД, Хо =- РХ.

ПД...........................

... ИПД XY - ПД FBjt Fx = 0 01 ИПД С/П

Программа 5.17. Реализация метода Ньютона с остановкой вычислений по критерию {x„i-i - x„) < 6. Ввод: данные F{x„)/F(xnl при х„ = РД, г = PC, Хо = РХ,

ПД.....................ИПД XY

- ПД FBx Fx ИПС - Fx < О 01 ИПД С/П

Для контроля двух последних программ вычислим корень уравнения (5.13). В этом случае

F (х) X - sin X - 0,25 F (х) 1 - cos X

и фрагмент программы, вычисляющий F(x)/F{x), имеет вид .(0,25= Р9):

ИПД t F sin - ИПЭ - 1 ИПД F cos -+

Поскольку /"(х) = sin X > о н F{x)>0 при х == 6, то надо взять Хо = 6 = 1,3. По программе 5.16 получим 5i = 1,1712297 при t, « 30 с.

Если нахождение производной F(х) затруднено или нежела< тельно, можно использовать модифицированный метод Ньютона, реализуемый выражением

х„+1 = х„ - F{x„\lK„



где К -константа, близкая к среднему значению Р(х) в интервале [а, Ь].

Программа 3.18. Реализация модифицированного метода Ньютона с остановкой вычислений по критерию машинного нуля. Ввод: данные F(x„) прн х„ = РД, X = РВ, хо = РХ.

ПД ,j, „. ............ ИПВ

ИПД XY - ПД FBx Fx = Q 01 ИПД С/П

Для приведенного выше примера при К = 0,64 получим х =: «= 1,1712297 при временя счета «36 С. Фрагмент программы вычисления F(Xn) имеет вид: ИПД f Fsin -• ИПЭ -.

Вычисление корней (5.12) возможно также методом хорд. При этом методе каждое новое значение х находится как точка пересечения хорды, проведенной через точки F(a) н F{b) функции F{x), с осью абсцисс, причем одна из этих точек фиксируется - та, для которой знак F{x) совпадает со знаком F"(x). Условие сходимости втого метода аналогично (5.16). Если неподвижен конец хорды с JC = а, то

а если неподвижен конец хорды с х - Ь, то

F (хп) >

-Ха - F{b)-F(x„) * ~ >

Полученное значение x„+i присваивается значению b в первом случае и а во втором, что обеспечивает сужение интервала [а, Ь], Вычисления прекращаются при (a:„+i - Хп) < е.

Программа 5.19. Реализация метода хорд при неподвижном конце а. Ввод: данные F{xn), а = РА, в =РД, 6 = РХ.

ЛВ ИПА ПП 28 ПС ИПВ ПП 28 f ИПС

- ИПВ ИПА - X ИПВ XY - ПВ РВд; Fx ИПД - Fa: < О Об ИПВ С/П ... В/О

Программа 5.20. Реализация метода хорд при неподвижном конце 6. Ввод: данные F(x„), 6 = рВ, = РД и о = РХ.

ПА ИПВ ПП 28 ПС ИПА ПП 28 f ИПС

- ИПВ ИПА - X ИПА XY + ПА РВд; Fx ИПД - Рд;< 0 05 ИПА С/П ... В/О

В этих программах вычисление F{x„) оформляется подпрограммой, причем значения Хп заносятся в начало подпрограммы. Пусть надо вычислить корень уравнения

F{x) = д:3 - 0,2д;2 - 0,2л: - 1,2 = ((х - 1/5)х- 1/5)х- 1,2,

лежащий в интервале [1; 1,5]. Вычисление значений F{x) и F"(xJ показывают, что их знаки одинаковы при х = а 1, Следовательно,



надо использовать программу 5.19, дополнив ее программой вычис» лення F (х):

ПО 5 F1/X - ИПО X 5 Fl/x ~ ИПО XI, 2 -

Введя а = 1 = РА, = 1 • 10-» = РД и Ь = 1,5 = РХ, получим X = 2 при ?с«2 мин.

Для контроля программы 5.20 найдем корень уравнения (5.13;, введем а нее программу вычисления функции f(x) (0,25 = Р9); t Fsin - ИП9 - . Для b = 1,3, е2 = ЫО-» и о = 1,1 получн X = 1,1712297 при времени счета около 1 мнн.

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

На практике предпочтение часто отдается методам, не требующим анализа Р(х) на сходимость. К таким методам относится комбинированный метод секущих - хорд. В его основе лежит итерационная формула Ньютона (5.15), но точное значение производной F{x) заменяется приближенным - множитель после f(x„);

х„+1 =Xn - F (хп)

Хп - Хп-1

F (хп) - F (x„ i) •

Метод дает сходимость при произвольном выборе в пределах отрезка [а, 6] нулевого Хо и первого Xj приближений.

Программа 5.21. Реализация комбинированного метода секущих-хорд. Ввод: данные f(x„), хо = РА, х, = РВ и = РО.

ИПА ПП 34 ПС ИПВ ПП 34 ПД ИПА ИПС

t ИПД ПС XY - -5- ИПА ИПВ - X

-f ИПВ XY ПВ XY ПА - Fx" ИПО -

Fx< 0 04 ИПВ С/П............... В/О

В табл. 5.3 даны результаты вычисления корня (5.13) по программе 5.21. Фрагмент программы вычисления f (х„) прн х„, заноси-

Таблица 5.3

Время счета i.

1,15

1.1712297

1,1=а

1,3=S

1.1712297

1,3 = 6

1,1 = о

1,1712297

1,3 = д

1,25

1,1712297

1.1 =а

1,1712297



(0) (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)