Главная страница Алгоритмы [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] ояяяых значениях Xi получены, результаты, приведенные в табл. 17. Таблица 17
Точно такие же результаты получаются непосредственным (вычислением полиномов Чебышева по формулам, приведенным в работе К. Ланцоша [9, с. 503]. АЛГОРИТМ 376 Понижение степени аппроксимирующего полинома на интервале [0, Л][Е2] 1роцедура telescopel заменяет с точностью до limit Р>0, если это возможно, полином 2 (пх, аппрокси- ft=0 мирующий функцию с точностью до epsO на .интервале [О,Л], на .полином меньшей степени. Исходные коэффициенты Ch заменяются новыми, а лишние коэффициенты-нулями. Начальное eps заменяется новой .верхней границей .полрешности. Параметр п принимает значение степени полученного полинома. В обращениях к процедуре telescopel фактическими параметрами, соответствующими п и eps, могут быть только переменные. Данная процедура вычисляет коэффициенты по рекуррентной формуле kh(2k-\) 2(n + k-\)(n-k+iy Приведенной в разделе «Методы» журнала «САСМ», 1958, № 9. procedure telescopel (h.limit) dataresult: (n,eps,c); value h.limit; real h,limit,eps; integer n; array c; begin integer k; array a[0:n]; start: if п<1 then go to fin; an]:=-dn); for k:= n step -1 until 1 do a[k-1]:=-a[k]XhXkX (k-0.5)/((n+k-1) x (n-k+1)); if eps+abs(aCo]) <limit then begin eps: - eps + abs (a[0]); for k:=n step-1 until 0 do c[k]: = c[k]+a[k]; n:=n-1; go to start end; fin: end telescopel; Свидетельство к алгоритму 376 Процедура telescopel алгоритма 376 является стереотипным лереизданием процедуры telescopel алгоритма 37а. Алгоритм 37а успешно транслировался на машине Урал-2 (см. «Подтверждение к алгоритмам 1а, 7а, ИЗа» И. Р. Гитмана в [27, с. 171]) и на машине БЭСМ-6 (см. «Подтверждение и замечания к алгоритмам 29а, 33а, .... 191а» М. И. Агеева в приложении 1 к данному выпуску). Свидетельство к алгоритму 37а Алгоритм 37а получен в результате ординарной переработки алгоритма 37 (Brons К. А. «САСМ», 1961, № 3). Подтверждение к алгоритму 37 Г. Тачер (Т h а с h е г Н. С. «САСМ», 1962, № 8) Процедура telescopel была транслирована и проверена на машине LGP-30, использующей транслятор с языка АЛГОЛ-60, разработанный вычислительным цент1роМ Дартмутского колледжа. Синтаксических ошибок обнаружено не было, и пропрамма прошла удовлетворительно. В качестве исходного был взят полином 10-й степени,, представляющий собой старшие члены разложения в ряД функции е-\ для limit=0.lXlO- и Л-1.0. В результате получены п=3, eps=0.2103005 ХЮ- и коэффициенты -Ь 0.9997892, -0.9930727, +0.4636493, -0.1026781. Для jjOBoro полинома вычислена кривая погрешности для х g интервале от О до 1.0 с шагом 0.02. Ошибка в величине gps не превосходила 0.5%!. Такое расхождение соизмеримо с ошибками перевода и округления. Подтверждение к алгоритму 37 Дж. Ф. Бриджес (Bridges J. F. «САСМ», 1963, № 8) Эта процедура была проверена на машине CDC 160А, использующей ФОРТРАН 160А. Был переработан полином 10-й степени, представляющий старшие члены ряда для Л= 1.0 и Я/ш/=0.001. В результате получены п=3, ejps=0.21061862X10-3 и коэффициенты 0,99978965, --0.99307236, 0.46364955, -0.10267767. Кривая погрешности была вычислена для х в интервале от О до 1.0 с шагом 0.02, и ни одна погрешность не превзошла eps, наибольшая погрешность была на 2% меньше чем eps. Этот результат очень близок к результату Г. Тачера («САСМ», 1962, № 8). Г. Тачер указал, что он по невни-м,ательности сослался на ряд ег, подразумевая при этом ряд е*. Имеется также опечатка в величине eps, которая жна быть равна 0.2103505X10-3. АЛГОРИТМ 386 Понижение степени аппроксимирующего полинома на интервале [-h, ЩЕ1] (Процедура /e/escojce 2 заменяет с точностью до/imi<3 О, если это возможно, полином Ck-X, аппроксимирующий ft=i функцию с точностью до epsO на интервале [-h,h], полиномом меньшей степени. Исходные коэффициенты заменяются новыми, а лишние коэффициенты - нулями. Началыное eps заменяется новой верхней границей Погрешности. Параметр п принимает значение степени Полученного полинома. В обращениях к процедуре te--sscope2 фактическими параметрами, соответствующими И eps, могут быть только переменные. Данная проце- [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.0127 |