Текст подпрограммы и версий ( Фортран )
ia10r.zip
Тексты тестовых примеров ( Фортран )
tia10r.zip
Текст подпрограммы и версий ( Си )
ia10r_c.zip
Тексты тестовых примеров ( Си )
tia10r_c.zip
Текст подпрограммы и версий ( Паскаль )
ia10r_p.zip
Тексты тестовых примеров ( Паскаль )
tia10r_p.zip

Подпрограмма:  IA10R

Назначение

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

Математическое описание

Пусть задана действительная функция F (X), принадлежащая к классу 2*LX + 2 раз дифференцируемых функций, где LX порядок аппроксимирующей формулы; тогда по оценкам погрешности приближения, полученных в [1], строится оптимальная сетка сплайна из условия заданной точности.

Единственным требованием является то, что функция должна быть определена на большем отрезке, чем тот, на котоpом ищется оптимальная сетка.

Если заданная точность не достигается, выдается максимально допустимая равномерная сетка.

1. Завьялов Ю.С., Kвасов Б.И., Мирошниченко В.Л. Методы сплайн - функций. M.: Hаука, 1980.

Использование

    SUBROUTINE  IA10R (XF, AX, BX, EPS, LX, IDX, JX, NXM, NX,
                                        TX, CX) 

Параметры

XF - имя вещественной подпрограммы - функции, вычисляющей значения аппроксимируемой функции;
AX - заданное число, начало отрезка (тип: вещественный);
BX - заданное число, конец отрезка, BX > AX (тип: вещественный);
EPS - заданное число, требуемая точность приближения, EPS ≥ 10 - 6 (тип: вещественный);
LX - заданное число, порядок аппроксимирующей формулы, 0 ≤ LX ≤ 1 (тип: целый);
IDX - заданное число, порядок приближаемой производной, 0 ≤ IDX ≤ LX + 1 (тип: целый);
JX - заданное число, признак формируемой сетки, 0 ≤ JX ≤ 1 (тип: целый);
 

JX = 0 - равномерная сетка ,

JX = 1 - неравномерная сетка;
NXM - заданное число максимально допустимых узлов сетки, NXM ≥ 10 (тип: целый);
NX - целое значение числа узлов равномерной сетки, на котоpом получают оценки нужной производной, 6 ≤ NX ≤ NXM - 4 ; на выходе содержит значение оптимального числа узлов;
TX - вещественный вектоp длины NXM + 4, содержащий NX + 4 значений узлов вычисленной оптимальной сетки;
CX - вещественный вектоp длины NXM + 4, содержащий NX + 2 вычисленных значений коэффициентов сплайна.

Версии: нет

Вызываемые подпрограммы: нет

Замечания по использованию

  Подпрограмма использует рабочие подпрограммы - функции и подпрограммы  IAC1R1, IA10R1 и IAS1R2.

Пример использования

       EXTERNAL  XF
       DIMENSION  TX(49), CX(49)
       NX = 41
       CALL  IA10R (XF, -1., 1., 0.0001, 1, 0, 1, 45, NX, TX, CX)
       END

       REAL  FUNCTION  XF(X)
       XF = X**5
       RETURN
       END

Результаты:

                |  -1.1447 -1.0724 -1.0000 -0.9276 -0.8539 -0.7786 -0.7016  |
       TX = |  -0.6225 -0.5410 -0.4566 -0.3686 -0.2757 -0.1759 -0.0641  |
                |   0.0744   0.1848   0.2840  0.3764  0.4640   0.5481  0.6294  |
                |   0.7083   0.7852   0.8603  0.9339  1.0000   1.0661  1.1322  |

                 |  -1.3966 -0.9825 -0.6709 -0.4410 -0.2759 -0.1621 -0.0876  |
       CX = |  -0.0423 -0.0172 -0.0052 -0.0008   0.0001  0.0000 -0.0000  |
                 |  -0.0001  0.0010  0.0059   0.0184   0.0453  0.0928  0.1702  |
                 |   0.2879  0.4581   0.6877   0.9854   1.3594                           |