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

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

Ввод: ft = Р9, t;-i, t/o, У+ь J+2, JCo и jc в регистр X.

ni С/П П2 С/П

П7 ИПЗ - ИПЭ -

П5 3 -т- ИПб 1

ИП1 X ИПб Fx

X + ИПб 1

X - ИПА ИПб X

БП 09

ПЗ С/П П4 С/П П8 С/П

4- Пб 2 - 2

- X ИПб /-/ X

- ПА ИПб X ИП2 ИПб X ИПб X ИПЗ 6 -т- ИП4 X +

Для приведенного выше примера при А = 0,1, y-i = 0,934, уа == = 0,9523, у+1 = 0,9661, у+г = 0.9763, JCo = 1,4 и л: = 1,43 получим (/(1,43)= 0,9568716.

Программа 5.8. Интерполяция при пяти произвольно расположенных узлах по формуле

У (х) = (X - Хз) + Вз](х - Х2) + Вг] {х ~ х,) + В,] (х - Хо) + Во.

Ввод: хо -г X4 = РО -г Р4, (/» = РЭ, 1/1 (/4 = РА РД и х= РХ (после пуска и индикации цифры 0). Коэффициенты Во, BjВг заносятся в регистры 9, А Д.

т-

в табл. 5.1 даны значения функции

у (х) = Фо (JC) =

~ V2Jx „S

Таблица 5.1

B-*PN

*о.=2.2

у,=0,4860966

В„ = 4,860986.10--

*1 = 2.3

у, =0,4892759

В, = 3.1793-10-2

«,=2.4

j,j=0,4918025

Вг = -3..гв35-10-*

*з=2.5

j,3 = 0,4937903

Вз = 1,89833-10-*

*.=2,6

у, = 0.4953388

В,=-3,99965.10-2



в узлах интерполяции и вычисленные по данной программе значения Во, Ч- Bi. При X = 2,45 получим г/(2,45) = 0,49285719 при точном значении 0,4928572.

Программа 5.9. Интерполяция при пяти равноотстоящих узлах по формуле

, (р-1)р(р-2) (р-1)р(р-4) ,

(p- 1)(р2-4) (рн- 1)р(р-4)

(р-1)р(, + 2) 3,

Ввод:

h = Р9, г/ 2, у-

-1, Уо,

У+1, У+

2, х„ и

X в регистр X.

. ПЗ

¥х

Для приведенного выше примера, взяв хо = 2,4 и г/о=0,4918025, для X = 2,45 получим г/(2,45) = 0,49285719.

Программа 5.10. Интерполяция при шести равноотстоящих узлах по формуле

, р(р--1)<р2-4)(р- 3) (р- 1)(р2-4) (р-3)

-1 24- -1 12 0

, р(р+ 1)(р-4)(р-3) р(р2-1)(р + 2)(р-3)

Т 12 + 1 24 + 2"1"

р(р2- 1)(р2-4)

120 +3*

Ввод: .«о = Р8, /1 = Р9, г/ -2 = Р2, г/ , = Р1, г/о = РО, г/+1 = РА, +2 = РВ, г/, = PC и д; = РХ.

П7 ИПЗ - ИПЭ ч- П7 Fx \ - ПЗ

2 4 -т- ПД ИП7 3 - X ИП7 /-/

X П4 ИП7 2 X 5 ч- ИП2 X

ИП7 Fx 4 -, П5 ИП7 3 - X »



ИПС.

2 н- Пб ИП1 X ИП7 1 + ИП4 ИП7 2 X ИП5 X 00

Для контроля этой программы воспользуемся табулированными данными функции Р{х) нормального распределения вероятностей [3] при х-2 = 0,5, х-1 = 0,6, Хо = 0,7, Л-+1 = 0,8, х+г = 0,9, х+з = 1,0 (т.е. «0 = 0,7 и Л=0,1). Для этих значений х имеем г/ 2 = 0,6914625,

= 0,7257469, уо = 0,7580363, г/+, = 0,7881446, (/+2 = 0,8159399 и г/. з = 0,8413447. Введя эти данные и положив х = 0,86 = РХ, найдем р(0,86) = 0,80510553 при известном точном значении 0,80510547 и /с » I мин. »

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

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

В [22] описаны универсальные программы для интерполяции полиномами Лагранжа и Ньютона (л < 6 при произвольном и л 10 при равномерном расположении узлов), а также кубическими сплайнами. Однако время интерполяции по ннм велико (в 3-4 раза больше, чем по описанным выше программам). Поэтому подобные программы удобнее использовать для представления (аппроксимации)функций степенными полиномами (см. § 5.13).

5.3. Интерполяция и экстраполяция функций двух переменных , . .

Часто встречаются функции \{х,у) двух переменных у и х. Ограничившись доступными для микрокалькуляторов Электроника БЗ-34 методами интерполяции и экстраполяции функций f{x,y) с постоянным шагом /г = Дх и = Дг/ [3], введем наряду с параметром

р = {х - xo)lh

параметр

9 = (г/ - yo)/k.



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