Главная Промышленная автоматика.

чальное значение л:0=28395423107. Были получены результаты: 0.50625, 0.48632, 0.50304 и 0.34304, 0.31681, 0.33469. Теоретически ожидаемые результаты: 0.50000 и 0.33333.

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

Алгоритм 1336 является стереотипным переизданием алгоритма 133а. Данный алгоритм может давать правильные результаты только на электронных машинах, допускающих запись в ячейках оперативной памяти целых чисел из двенадцати цифр десятичной системы счисления.

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

Алгоритм 133а получен в результате исправления и ординарной переработки алгоритма 133 (Behrenz Р. G. «САСМ», 1962, № 11).

Замечание к алгоритму 133

П. Беренц (Behrenz Р. G. «САСМ», 1962, № 12)

Описания в теле процедуры

integer М35,М36,М37; own integer X;

нужно заменить на

own integer Х,М35,М36.М37;

Последовательность из 23 случайных чисел содержит примерно 15 чисел, которые фактически не являются случайными. (Более подробно см. работу Хемминга [17i].)

Замечание к алгоритму 133

Д. Лауглин (Laughlin D. L. «САСМ», 1963, № 3)

Алгоритм 133 был переведен на язык ФОРТРАН 2 для машины IBM 1620 и прошел успешно. Начальное значение хО было заменено на 21348759609 и получены следующие интересные результаты. Для Л=500 и 1000 выходные значения были: 0.4990157688, 0.4986269653 и 0.3318717863, 0.3290401482.

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

Дж. Пур (Р оог е J. Н. «САСМ», 1963, № 4) .

Алгоритм 133 был переведен на язык ФОРТРАН 2 для машины IBM 1620. Ведущая программа выполняла проверку, указанную в алгоритме 133, на тех же числах.



Результаты проверки показаны е табл. 18. В ней использованы те же обозначения, что и в алгоритме.

Таблица 18

i/Nxyxl

0.4986480931

0.3280561242

- 13543288579

0.4840396640

0.3141520616

1000

0.4996829627

0.3321160892

5000

0.4971414796

0.3297990588

24376589411

0.4997720126

0.3326801987

1000

0.4986380784

0.3319949173

5000

0.4962408228

0.3339214302

34359738367

0.4974837457

0.3335720239

1000

0.4929612237

0.3253421270

5000

0.5313808305

0.3691599122

11324679915

0.5167083685

0.3498558251

1000

0.5043814637

0.3383429327

5000

АЛГОРИТМ 1346

Возведение ряда в степень [С1]

Процедура seriespwr (сокращение от series - ш, power - степень) вычисляет первые п коэффициентов ЬЩ ряда

g{x)l{x){p

но данным первым п коэффициентам ряда

Параметр р может быть любым вещественным. При р-0 получаются коэффициенты ряда In (/(л:)). Размерность массивов a,b[l:n].

procedure seriespwr (a,p,n) result: (b);

value p,n; real p; integer n; array a, b; begin real p2,s; integer i,k;

p2:= if p=0 then 1 else p; b[l]:=p2Xa[l]; for i:=2 step 1 until n do begin s:=0; for k:=l step 1 until i-1 do

s:=s-l-(pX (i-k)-k) Xb[k] xa[i-k]; bi]:=:p2Xa[i]-l-s/i end i end seriespwr;

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

Алгоритм 1346 является стереотипным переизданием алгоритма 134а, если не считать того, что в пояснительном тексте последнего была исправлена одна опечатка.



АЛГОРИТМ 1356

Метод Краута для решения матричного уравнения ах=Ъ [F4]

Процедура linearsystem {linear - линейный, system - .система) использует метод Краута для решения матричного уравнения ах=Ь, где матрицы имеют размерность а[1:п, 1:п], x,b[l:n,l: ifm<then 1 else т].

Если задать параметр тО, то процедура linearsystem будет вычислять только определитель матрицы а, равный detXlOjex. Если т=1, то процедура решает систему из п уравнений с п неизвестными. Если т>1, то процедура решает т таких систем с правыми частями, заданными в виде столбцов матрицы Ь. Если т=п и Ь - единичная матрица, то процедура обращает матрицу а.

Если матрица а вырожденная или близка к вырожденной, то происходит выход к глобальной метке signall35. Кроме того, в процедуре linearsystem используются пять глобальных .процедур equilibrate (уравновешенность), crout- (Краут), product (произведение), residuals (разности) и solve (решать), описание которых приводится ниже вслед за описанием процедуры linearsystem.

*. Указываются 10 поправок к алгоритмам 134 и 158. Последнее из указанных изменений (исключение оператора 6[1]:=р2Ха[1]) делать нельзя, поскольку тогда при £=й=1 для выполнения процедуры потребуется несуществующее значение а[Ь]. Остальные поправки были учтены в алгоритме 134а. (Прим. ред.)

Алгоритм 134а .получен в результате исправления и ординарной переработки алгоритма 134 (Fettis Н. Е. «САСМ», 1962, № 11) и" алгоритма 158 (Fettis Н. Е. «САСМ», 1963, № 3).

Алгоритм 134а транслирован с исходными данными:

1) f(x)=l+x+x2/2+x3/-6+x4/24+x5/120+xe/720e=; р=2;

2) f{x)=l + x; р=0, 1/2,3.

Получены результаты, совпадающие с контрольными значениями [5,, с. 324 и 327] с точностью до семи значащих цифр.

Подтверждение к алгоритмам 134 и 158

Г. Тачер (Thacher Н. С. «САСМ», 1963, № 7)

Алгоритмы 134 и 158 были транслированы с помощью транслятора Dartmouth SCALP на машине LGP 30. Кроме изменений, требуемых этим транслятором, оказались нужными следующие поправки... *

После того как были сделаны эти изменения с помощью обеих процедур были получены первые 10 коэффициентов ряда ехр (x)f2.5 по 10 первым коэффициентам ряда exp(x). Эти процедуры использовались также для получения биномиальных .коэффициентов путем применения их к ряду {1+х)Р для р=2.0 и 0.5О000000. Алгоритм 158 был также проверен при р=0 для l-fx и для разложений в ряд функций (sinx)/x, COSX, ехр л:. Во всех случаях коэффициенты совпадали с известными значениями в пределах погрешности округлений.





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

0.0036