Текст подпрограммы и версий
ip01r.zip , ip01d.zip
Тексты тестовых примеров
tip01r.zip , tip01d.zip
Текст подпрограммы и версий ( Си )
ip01r_c.zip , ip01d_c.zip
Тексты тестовых примеров ( Си )
tip01r_c.zip , tip01d_c.zip
Текст подпрограммы и версий ( Паскаль )
ip01r_p.zip , ip01e_p.zip
Тексты тестовых примеров ( Паскаль )
tip01r_p.zip , tip01e_p.zip

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

Назначение

Вычисление коэффициентов интерполяционного полинома.

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

Пусть заданы узлы сетки  x1, x2, ..., xN, упорядоченные по возрастанию:  x1 < x2 < ...< xN и значения  y1, y2, ..., yn функции  f (x) в узлах этой сетки. Подпрограмма IP01R вычисляет коэффициенты  ci  ( i = 1, 2, ..., N ) интерполяционного полинома

                   P(x)  =  c1 + c2 x + c3 x2 + ... + cN xN-1

 степени N - 1. 

Отметим, что коэффициенты  ci интерполяционного полинома удовлетворяют системе линейных алгебраических уравнений

   |   1   x1   x12   ...   x1N-1   |         |   c1   |          |   y1   |
   |   1   x2   x22   ...   x2N-1   |         |   c2   |    =    |   y2   |
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
   |   1   xN   xN2  ...   xNN-1  |         |   cN  |          |   yN  |

 с матрицей Вандермонда.

Решение этой системы с транспонированной матрицей осуществляется подпрограммой ASV1R .

Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.

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

    SUBROUTINE  IP01R (X, Y, N, COF, S) 

Параметры

X - вещественный вектор длины N, содержащий узлы заданной сетки  x1, x2, ..., xN, упорядоченной по возрастанию;
Y - вещественный вектор длины N, содержащий значения  y1, y2, ..., yN функции  f (x) в узлах заданной сетки;
N - количество узлов сетки, N ≥ 2 (тип: целый);
COF - вещественный вектор длины N, содержащий вычисленные коэффициенты интерполяционного полинома;
S - вещественный вектор длины N, используемый в подпрограмме в качестве рабочего.

Версии

IP01D - вычисление коэффициентов интерполяционного полинома в режиме удвоенной точности; при этом параметры X, Y, COF и S должны иметь тип DOUBLE PRECISION.

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

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

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

        DIMENSION  X(5), Y(5), COF(5), S(5), X1(5), Y1(5),  
        DATA  PI /3.14159265/ 
        A = 0.0 
        B = 1.0 
        N = 5 
        DO 1  K = 1, N 
        X1(K) = (B + A)/2 + ((B - A)/2)*COS( PI*(2*K - 1)/(2*N) ) 
     1 Y1(K) = SIN(X1(K))/X1(K) 
        DO 2  J = 1, N 
        K = N - J + 1 
        X(K) = X1(J) 
    2  Y(K) = Y1(J) 
        CALL  IP01R (X, Y, N, COF, S) 
      
Результаты:
     
        COF  =  ( 0.999999, 0.202257E-04, 
                       -0.166825, 0.464717E-03, 0.781631E-02 )