Главная страница Алгоритмы [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] Одновременное интегрирование нескольких таблично заданных функций D1] Процедура quad полезна тогда, .когда требуется одновременное интегрирование нескольких функций в одних и тех же пределах .с использоваиием одних .и тех же узловых точек. Интервал [а, 6] дтится на т равных подынтервалов для п-точечного интегрирования по «большой» квадратурной ф.ормуле. Параметр р-его число функций, подлежащих интегрированию; с[Щ - нормированные веса, и[Щ-нормированные абсциссы, причем fe=l, 2,...,п. Процедура f{t, j) задается программистом, она вычисляет у-ю функцию от аргумента t; sum [у] -результат интегрирования у-й функции, procedure quad (a,b,m,n,p,c,u,f)result:(sum); value a,b,m,n,p; real a,b; integer m,n,p; array u,c,sum; real procedure f; begin real h,t,r; integer i,j,k; h:-(b-a)/m; for j:- 1 step 1 until p do begin sum{j]:=0; r: = a-h; for i:= 1 step 1 until m do begin r:-r + h; for k:= 1 step 1 until n do begin t:=r+utklXh; [ sumlj]: = sumfj]+c[klxf(t,j) .; end к end i; sum[j]: = h X sumtj] end j end quad; , •, Свидетельство к алгоритму 16 Алгоритм 16 получен в результате несущественной переработки алгоритма 1а, заключавшейся в том, что параметры т, пи р процедуры quad были включены в список значений, а в пояснительный текст алгоритма 1а было внесено несколько уточнений. Алгоритм 16 был транслирован в системе БЭСМ-АЛГОЛ, и с его помощью было повторено решение для примеров, .приведенных в «Свидетельстве к алгоритму 1а». Результаты полностью совпали с данными табл. 1. См. также «Подтверждение к алгоритмам 1а, 7а, ИЗа» И. Р. Гитмана в выпуске «Алгоритмы (151-200)» [27, с. 171]. Свидетельство к алгоритму 1а Алгоритм 1 а получен в результате перевода с языка АЛГОЛ-58, ординарной переработки и некоторых сокращений алгоритма 1 (Herb о Id R. J. «САСМ», 1960, № 2). Поскольку алгоритм 1 был составлен на основании формулы Гаусса, имеющей вид = 4-]S" [a-f 4(г + и.) 1=0 k=l где h={b-a)lm, а в советской литературе [3, с. 107- 116] используется другой ее вид: т-1 п S = h 2 cnf[a + h{i.u)] = = hCnf[a-\-h(i-l-Uu)]. 1=1 fe=i и соответственно в таблицах даются в два раза меньшие значения для коэффициентов и ы, то в алгоритме 1а всюду /г/2 было заменено на h. После переработки были проведены с помощью iipaiHC-лятора контрольные решения для трех .интегралов:. = {dx=3. Для т=ЛО получены результаты, указанные в табл. 1. Таблица 1
Свидетельство к алгоритму 26 Алгоритм 26 не .публикуется здесь потому, что соот-.ветствующий ему исходный алгоритм 2 был позднее заменен в журнале «САСМ» более совершенным алгоритмом 26. (См. «Замечание к алгоритмам 2, 3, 15, 25 и 26» Дж. Вилкинсона, помещенное за описанием алгоритма 266.) АЛГОРИТМ 36 Нахождение комплексных корней полинома методом Берстоу - Хичкока [С2] В процедуре bairstow итерация Берстоу - Хичкока используется для последовательного нахождения пар корней полиномиального уравнения степени п с коэффициентами аЩ (г=0, 1, п), где а[п]-.свободный член. Выходные параметры: пит - число пар найденных корней {пит - начальные буквы слова number-число); "ГП. (г=1, 2,пит)-пара действительных корней, если nat[i]=\ (nat - начальные буквы слова natural - естественный), или действительная и мнимая Части комплексной пары, если nat[i]=-1; ex[i] указывает, по какому из следующих четырех условий произошел выход {ех - начальные буквы слова exit - выход) из итерационного цикла при нахождении Пары корней л;[г], г/[f]; [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.0122 |