Текст подпрограммы и версий ( Фортран )
ia02r.zip
Тексты тестовых примеров ( Фортран )
tia02r.zip
Текст подпрограммы и версий ( Си )
ia02r_c.zip
Тексты тестовых примеров ( Си )
tia02r_c.zip
Текст подпрограммы и версий ( Паскаль )
ia02r_p.zip
Тексты тестовых примеров ( Паскаль )
tia02r_p.zip

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

Назначение

Наилучшая среднеквадратическая аппроксимация дискретными монотонными функциями.

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

Для заданной дискретной функции F = (f1, f2, ..., fN) вычисляется наилучшее среднеквадратическое приближение T = (t1, t2, ..., tN) на классе дискретных монотонных функций из условия:

       N                                               
       ∑   pK*(fK - tK )2  =
       K=1                                                                                                                       
                                               N
                          =     min       ∑      pK*( fK - yK )2  ,
                               YS(M)      K=1 

где  pK > 0,  K = 1, 2, ..., N - заданные весовые коэффициенты, класс

     S(M) = { YRN : sign(M) (yK+1 - yK) ≥ 0 ,    K = 1, 2, ..., N-1 } , 

а заданный параметр M определяет вид монотонности: при M > 0 приближение T ищется на множестве неубывающих функций, при М < 0 - на множестве невозрастающих функций, а при M = 0 функция T полагается равной исходной функции F.

М.К.Самарин, Приближение сеточных функций функциями с заданным числом внутренних экстремумов, Сб. "Численный анализ на ФОРТРАНе", вып.7, 1974, 101-110.

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

    SUBROUTINE  IA02R (F, T, P, M, N) 

Параметры

F - вещественный вектоp длины N заданных значений приближаемой функции;
T - вещественный вектоp длины N вычисленных значений приближающей функции;
P - вещественный вектоp длины N заданных весовых коэффициентов;
M - заданный параметр, определяющий класс приближающих функций (тип: целый):
M > 0 , приближение ищется на классе неубывающих функций;
M < 0 , приближение ищется на классе невозрастающих функций;
M = 0 , приближение полагается равным исходной функции;
N - заданное число значений функции F (тип: целый).

Версии: нет

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

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

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

       DIMENSION  F(5), T(5), P(5)
       DATA  P /5*1./,  F /2., 1., 0., 2., 3./
       N = 5
       M = 1
       CALL  IA02R (F, T, P, M, N)

Результаты:

       T  =  (1., 1., 1., 2., 3.)