Главная страница  Алгоритмы 

[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]

t eal procedure cheb (n,x);

value n,x; real x; integer n; begin real a,b,c; integer i; a: = l; b: = x; if n=0 then c: = a else If n=l then c: = b else for i:= 2 step 1 until n do begin c:=2XxXb-a;

a: = b; b:=c end; .

cheb: = c end cheb;

Свидетельство к алгоритму 106

Процедура cheb алгоритма 106 является стереотипным переизданием процедуры cheb алгоритма 10а.

Алгоритм 106 был транслирован на машине М-220 Б системе ТА-1М для n=il(l)5 и при х-2 дал результаты 2, 7, 26, 97, 362, правильность которых легко нро-веряется непосредственным вычислением полиномов Че-бышева по формулам, приведенным в работе Е. Янке и-др. [32, с. 146].

Свидетельство к алгоритму 10а

Алгоритм 10а получен в результате ординарной переработки алгоритма 10 (Galler G. М. «ОАСМ», 1960, № 6). iB алгоритме 10 имелась одна опечатка, заключавшаяся в отсутствии точки с запятой перед последним оператором тела процедуры.

Алгоритм проверен для п=0, 1, 2, 3, 4 непосредственным вычислением и сравнением с табличными данными [9, с. 503].

Подтверждение к алгоритму 10

Дж. Херндон (Herndon J. «САСМ», 1961, № 4)

Алгоритм был переведен на язык БАЛГОЛ и проверен на машине Burroughs 220. Процйдура cheb (п, х) дала точность более семи цифр для п=0, 1, 4, 8 и x=0.01, 0.2, 0.7. Для х>\1 процедура дала результаты, которые соответствуют значениям полинома Чебышева при соответствующих значениях х.



АЛГОРИТМ 116

Значения полинома Эрмита [SIS]

Процедура herm вычисляет значения полинома Эрмита = для любого действительного

аргумента х и любого порядка п по рекуррентной иуле HnMx)=2xHn{x)-2nHn-i{x) [32, с. 151]. real procedure herm(n,x); ,

value n,x; real x; integer n; begin real a,b,c; integer i;

a: = l; b:=2Xx; n: = n-1; if n--1 then c: = a else if n=0 then c:=b else for i:= 1 step 1 until n do begin c: = 2XxXb-2XiXa; a:=b; b: = c

end; herm: = с end herm;

Свидетельство к алгоритму 116

Процедура herm алгоритма Мб отличается от про-цедуры herm алгоритма На только тем, что с целью ускорения работы процедуры ъ пей добавлен оператор п:=п-1; и соответственно скорректирован условный оператор.

Алгоритм 116 был транслирован в системе ТА-1М на М-220 и для п=0(1)5 прн x=i дал результаты 1, 2, 2, -4, -20, -8, а при х=2 -результаты 1, 4, 14, 40, 76 и -16, правильность которых легко проверяется непосредственным вычислением значений полиномов Эрмита по формулам, приведенным в работе Е. Янке и др. [32, с. 153].

* Свидетельство к алгоритму Па

Алгоритм Па получен в результате исправлений и ординарной переработки алгоритма 11 (G а 11 е г G. М. «САСМ», 1960, № 6). Были исправлены две опечатки, заключавшиеся в отсутствии знака операции умножения



в операторе 6:=2Xx и точки с запятой перед последним оператором тела процедуры.

Алгоритм был лрове)рен для п=0, 1, 2, 3 непосредственным вычислением и сравнением с табличными данными [10].

АЛГОРИТМ 126

Значения полинома Лагерра Ln(x) [S22]

Алгоритм 126 включает в себя две процедуры lag и lagl, вычисляющие значения полинома Лагерра L„(x) в двух различных толкованиях этого термина, принятых в математике [37, с. 662].

Процедура lag вычисляет значение полинома Лагерра Ln(x) - для любого действительного а1ргумента х и любого порядка п по рекуррентной формуле Ln+i{x) = {2n-hl-~x)Lrv{x)-nLn-i{x) [37, с. 662].

real procedure Iag(n,x);

value n,x; real x; integer n; begin real a,b,c; integer i; a: = l; b: = l-x; n: = n-1;

if n=-1 then c: = a else if n=0 then c:==b else • for i:= 1 step 1 until n do

begin c:=(l+2Xi-x)Xb-12Ха;

a: = b; b: = c end; lag: = c end lag;

Процедура lagl (вычисляет значения полинома Лагерра Z,„(x) = (e*/n!) X для любого

действительного аргумента х и любого порядка п по рекуррентной формуле Ln (х) = (2п-1 -х) /п xLn-i (х) - - (п-l)/nXZ,„-a(x) [32, с. 147]. real procedure lagl (n,x);

value n,x; real x; integer n; begin real a,b,c; integer i;

a: = l; b: = l-x;

if n=0 then c:= a else . .

If n=l then c:=b else




[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]

0.0239