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

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

Точку {хо, Уо) условно обозначим как О, а значение функции для нее /оо = f{xo, Уо). Тогда fio = f(xi,yo), foi = f(xo,yi), fn = f{xi,yi), /0-1 = f{xo.y-i) и т. д.

Рис. 5.1. Расположение узлов при интерполяции функций двух переменных прн трех (а), четырех (б), и шести (в) точках

Программа 5.11. Интерполяция и экстраполяция функции f{x,y) двух переменных и г/ по формуле для трех точек (рис. 5.1, а):

f{x,y) = (l-p-q)foo+ р! 10 +qfoi

с погрешностью 0{h), пропорциональной fi. Ввод; А = Р8, = Р9 и далее в регистр .X; хо, г/о, /оо, ,/oi, /10, хну (при повторных пусках программы для новых хну вводятся только последние).

ПО С/П П1 С/П П2 С/П ПЗ С/П П4 С/П

- ИПЭ - Пб ИПб ИПО

1 XY - ИПб - ИП2

+ ИПб ИПЗ X + БП

П5 С/П Пб ИП1

- ИПЗ П5

X ИП5 ИП4 X ОЭ

Для контроля программы рассмотрим значения (см. табл. 5.2), функции последействия [5]

fix, </)= 5 е-У

Таблица 5.2

у \

0.00

2,500

1,429

1,000

0.05

2,487

1,419

0,955

0,10

2,456

1.400

0,931

Для выбранных узлов имеем h = 0,3, А = 0,1, Хо = 0,4, г/о = О, /оо = 2,5, foi = 2,456 и fio = 1,42Э. Введя эти данные и придавая X и у различные, отмеченные ниже значения, получим /(0,7; 0,05) = = 1,407 при точном значении 1,41Э, /(0,7; 0,1) = 1,385 при точном значении 1,4; /(0,4; 0,05) = 2,478 при точном значении 2,487 н т. д.



в узлах интерполяции расчетные значения f{x,y) совпадают с ис-лодными. Время вычисления одного значения f{x,y) около 12 с.

Программа 5.12, Интерполяция и эжстраполяция функции f{x,y) l::yx переменных х а у по формуле длж четырех точек (рис. 5,1,6);

f(x,y}= (1 -р).(1 -9)/оо + р(1 -g)fio + q{l-p)foi+pqfn

с погрешностью O(h), пропорциональной h. Ввод: ft = Р1, fe = PU и далее, после нагкатня клавиши С/П, в регистр X значений хо, Ув, /j:, foi, fio, fll, X ц у.

4 П4 6 ПО С/П КП4 FLO 04 С/П ПЗ

С/П П4 ИПб - ИП2 П4 ИПЗ ИПб -

ИП1 ПЗ 1 ИПЗ - ПВ 1 ИП4 -

ПС X ИП7 X ИПВ ИП4 X ИП8 X +

ЛПС ИПЗ X ИП9 X + ИПЗ ИП4 X ИП.\

X + БП 08

Для проверки этой программы воспользуемся данными табл. 5.2. Введя /г = 0,3==Р1 и = 0,1 = Р2, нажимаем клавишу С/П- высвечивается цифра 6, указывающая на ввод шести параметров: .То = 0,4, г/о = О, /оо = 2,5, = 2,456, f,D = 1,429 и /„ = 1,4. При гзоде их в регистр X нажимается клавиша С/П. Далее, после ввода в регистр X текущих значений х л у, получим значение f(x,y). Например, будем иметь /(0,4; 0,05) = 2,478 при точном значении 2,487, f(0,7; 0,05)= 1,4145 прн точном значении 1,419, f(0,5; 0,08) = 2,1118001 и т. д.

Программа 5.13. Интерполяция и экстраполяция функции f(x,y) двух переменных д: н (/ по формуле для шести точек (рнс. 5.1, е)з

/ {X, У) =- fo + --Я/-,0 + (1 + р= - 9=) /„„Ч-i РСр-ЗЧ-!) . q(q-2p+ 1)

с погрешностью 0(/г), пропорциональной h. Ввод h - V\, = Р2 и далее, посте нажатия клавищи С/П и высвечивания цифры 8, а регистр X; Хй, Уо, /оо, fio, fo-и f-io, foi, fn. x и у.

2

08



Для контроля этой программы вновь воспользуемся данными табл. 5.2, взяв в качестве центральной точки точку .ico = 0,7, j/o = 0,05. Тогда исходными будут следующие данные: h = 0,3, k = 0,05, >:о-=.0,7. (/отО.Об, /оо-=. 1.419, /,о •= 0,995, /o-i= 1.429, /-,о = = 2,487, /о1«= 1,4 и fii = 0,981. Введя указанные далее значения х и у, получим /(1,0) •= 1 при точном значении 1, f(0,4; 0) = 2,502 при точном значении 2,5, /(0,5; 0,03) = 2,0658579 и т. д. Время счета около 25 с

5.4. Вычисление корней нелинейных уравнений

Нелинейное, в частности трансцендентное, уравнение

/(jr5 = e ;j[5.i2)fi

имеет один или несколько корней s -« Ь, обращающих Р{х) в нуль. Их виожденив сводится к сценке внтервала изоляции корня [а, Ь\ (т.*. штервалв, в котором находится, один корень) в его последующему сужшию до тех пор, пока приближенное сначеиие корня в втоы интервале не станет отличаться от точного \t иа ааданную малую величину е. Ниже дав пакет программ вычисления корней функции F{x) различными методами [4--8]. Вычноление F{x) оформляется фрагментом программы, вписываемым в текет основной программы на место многоточия.

Программа 5.14. ОпределенЕв корня {5.1S), приведенного к виду *-"~/(). методом простых втераций, реалиаованным выражениями}

i(Xn\ пока j[jr„+i - Хп)* > e

Ввод» данные,/(л;), .«2 с=. рс, начальное приближение xs, = РХ.

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

XY ПД - Fx ИПС - Рл<0 01 ИПД С/П

Отметим, что метод простых итераций сходится, если в иитер-

«аде

а, Ь] П*)<1.

Пример. Найдем корень уравнения

/?(>;)=. :t -sin* -0,25 = 0. li6.13)J Приведем его к виду

X ж= ]{х\ sin -f 0,25. (5.14)!

Поскольку /(jr)-«cosx< I, то метод простых итераций применим для решения (6.14). При к = 0,26 - Р9 фрагмент программы для вычисления f(x) имеет внд: ИПД Fsin ИП9 -- . Для хо = 1,2 и г 1-10-« получим i .= 1,1718537 при /с « 22 в,



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