Текст подпрограммы и версий ( Фортран )
ias1r.zip
Тексты тестовых примеров ( Фортран )
tias1r.zip
Текст подпрограммы и версий ( Си )
ias1r_c.zip
Тексты тестовых примеров ( Си )
tias1r_c.zip
Текст подпрограммы и версий ( Паскаль )
ias1r_p.zip
Тексты тестовых примеров ( Паскаль )
tias1r_p.zip

Функция:  IAS1R

Назначение

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

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

Пусть заданы сетка сплайна  TX (I) ,  I = 1, ..., NX + 4 и его коэффициенты  CX (I),  I = 1, ..., NX + 2, где  NX - число узлов исходной сетки.

Для вычисления значения сплайна или его производной до третьего порядка при заданном аргументе  XX определяется номер интервала на массиве  TX такой, чтобы  XX принадлежал отрезку  [ТХ (IХ), ТХ (IХ + 1)] , где  3 ≤ IX ≤ NX + 1.

Тогда из свойств локальных базисных сплайнов выводятся рекурентные формулы для вычисления производной порядка  IDX, где  0 ≤ IDX ≤ 3 :

     A(I) = CX(IX - 3 + I) ,   I = 1, ..., 4 ;

     A(I) = (4 - J) * ( A(I + 1) - A(I) ) / ( TX(IX + I) - TX(IX - 4 + I + J) ) ,
                I = 1, ..., 4-J ,   J = 1 ,..., IDX ;

     B(I) = TX(IX + I) - XX ,   I = 1, ..., 3-IDX ;

     C(I) = XX - TX(IX + 1 - I) ,   I = 1,..., 3-IDX ;

     A(I) = ( C(5 - I - J)*A(I + 1) + B(I)*A(I) ) / ( C(5 - I - J) + B(I) ) ,
                I = 1 ,..., 4-J ,   J = IDX + 1 ,..., 3 . 

После проведения этих вычислений значение содержится в  A (1).

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

    REAL FUNCTION  IAS1R (TX, NX, CX, IDX, XX) 

Параметры

TX - вещественный вектоp длины NX + 4, содержащий значения узлов сетки сплайна;
NX - заданное число узлов исходной сетки,  NX ≥ 4 (тип: целый);
CX - вещественный вектоp длины  NX + 2, содержащий значения коэффициентов сплайна;
IDX - заданный порядок вычисляемой производной,  0 ≤ IDX ≤ 3 (тип: целый);
XX - заданное значение аргумента, при котоpом производятся вычисления,  TX (3) ≤ XX ≤ TX (NX + 2) (тип: вещественный).

Версии: нет

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

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

 

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

Для вычисления сетки и коэффициентов сплайна рекомендуется воспользоваться подпрограммой IAC1R.

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

       REAL IAS1R
       DIMENSION  X(4), FX(4), TX(8), CX(8)
       DATA  X /2., 3., 4., 5./,  FX /8., 27., 64., 125./
       CALL  IAC1R (X, 4, FX, 1, 1, 12., 2, 30., TX, CX)
       S = IAS1R (TX, 4, CX, 1, 2.4)

Результат:    S  =  17.280