| Текст подпрограммы и версий ( Фортран ) ia12r.zip ia12r1.zip | Тексты тестовых примеров  ( Фортран ) tia12r.zip tia12r1.zip | 
| Текст подпрограммы и версий ( Си ) ia12r_c.zip ia12r1_c.zip | Тексты тестовых примеров  ( Си ) tia12r_c.zip tia12r1_c.zip | 
| Текст подпрограммы и версий ( Паскаль ) ia12r_p.zip ia12r1_p.zip | Тексты тестовых примеров  ( Паскаль ) tia12r_p.zip tia12r1_p.zip | 
Наилучшая равномерная аппроксимация дискретными монотонными функциями.
Для заданной дискретной функции F = (f1, f2, ..., fN) вычисляется наилучшее pавномеpное приближение T = (t1, t2, ..., tN) на классе дискретных монотонных функций из условия:
         max     pk | fk - tk |   =     min              max     pk | fk - yk |  ,
       1≤K≤N                            Y∈S(M)        1≤K≤N 
где pk > 0, K = 1, 2, ..., N - заданные весовые коэффициенты, класс
     S(M) = { Y∈RN : sign(M) (yK+1 - yK) ≥ 0 ,    K = 1, 2, ..., N-1 } , 
а заданный параметр M определяет вид монотонности: при M > 0 приближение T ищется на множестве неубывающих функций, при М < 0 - на множестве невозрастающих функций, а при M = 0 функция T полагается равной исходной функции F.
М.К.Самарин. Об устойчивости решения некоторых некорректных задач на множествах специальной структуры. Канд. Дисс., M., 1979.
SUBROUTINE IA12R (F, T, P, M, N)
Параметры
| F - | вещественный вектоp длины N заданных значений приближаемой функции; | 
| T - | вещественный вектоp длины N вычисленных значений приближающей функции; | 
| P - | вещественный вектоp длины N заданных весовых коэффициентов; | 
| M - | заданный параметр, определяющий класс приближающих функций (тип: целый); | 
| M > 0 , | приближение ищется на классе неубывающих функций; | 
| M < 0 , | приближение ищется на классе невозрастающих функций; | 
| M = 0 , | приближение полагается равным исходной функции; | 
| N - | заданное число значений функции F (тип: целый). | 
Версии
| IA12R1 - | наилучшая равномерная  аппроксимация с
      единичными весовыми коэффициентами дискретными
      монотонными функциями. Первый оператор подпрограммы имеет вид: SUBROUTINE IA12R1 (F, T, M, N) , где параметры F, T, M, N имеют тот же смысл, что и одноименные параметры подпрограммы IA12R. | 
Вызываемые подпрограммы: нет
Замечания по использованию
| При обращении к подпрограмме IA12R1 параметр P не задается, поскольку предполагается, что pK = 1, K = 1, 2, ..., N.Алгоритм, реализованный в подпрограмме IA12R, вычисляет искомое приближение за O (N3) арифметических операций, а в подпрограмме IA12R1 - за O (N2) операций. Поэтому в случае единичных весовых коэффициентов рекомендуется использовать версию IA12R1. | 
       DIMENSION  F(5), T(5), P(5)
       DATA  P /5*1./,  F /1., 0., 3., 2., 5./
       N = 5
       M = 1
       CALL  IA12R (F, T, P, M, N)
Результат:    T  =  (0.5, 0.5, 2.5, 2.5, 5.)