| 
      Текст подпрограммы и версий  iah2r_p.zip , iah2e_p.zip  | 
      Тексты тестовых примеров   tiah2r_p.zip , tiah2e_p.zip  | 
Вычисление значения разложения функции на заданном отрезке в ряд по многочленам Чебышева в заданной точке этого отрезка.
Пусть на отрезке [A, B] задана функция f (x). Тогда подпрограмма IAH2R вычисляет коэффициенты cj (j = 1, 2, ..., N) разложения функции f (x) на [A, B] в ряд по многочленам Чебышева и значение полученного разложения в точке x = X∈[A, B]:
                              N
              f(x)  ≈  [  ∑   cj Tj-1(y) ]  -  c1 / 2 ,
                             j=1
 где    y  ≡  ( x - (B + A) / 2 ) / ( (B - A) / 2 ) . 
Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.
procedure IAH2R(A :Real; B :Real; var C :Array of Real;
                N :Integer; FUNC :Func_F1; X :Real;
                var RES :Real; var RF :Array of Real);
Параметры
| A, B - | нижняя и верхняя границы отрезка, на котором задана аппроксимируемая функция f (x) (тип: вещественный); | 
| C - | вещественный вектор длины N, содержащий вычисляемые в подпрограмме значения коэффициентов ряда по многочленам Чебышева, аппроксимирующего функцию f (x); | 
| N - | заданное количество членов ряда (тип: целый); | 
| FUNC - | 
      имя вещественной подпрограммы - функции, вычисляющей
      значения функции  f (x) в любой точке отрезка [A, B];
      ее первый оператор должен иметь вид: FUNC (X :Real): Real; где X - значение аргумента (тип: вещественный);  | 
| X - | заданная точка отрезка [A, B], в которой вычисляется значение разложения функции f (x) в ряд по многочленам Чебышева; | 
| RES - | вещественная переменная, значение которой полагается равным вычисленному значению разложения функции f (x) в ряд по многочленам Чебышева в заданной точке X; | 
| RF - | вещественный вектор длины N, используемый в подпрограмме в качестве рабочего. | 
Версии
| IAH2E - | вычисление значения разложения функции на заданном отрезке в ряд по многочленам Чебышева в заданной точке этого отрезка в режиме расширенной (Extended) точности; при этом параметры A, B, C, X и RF должны иметь тип Extended, и функция FUNC тоже должна иметь тип Extended. | 
Вызываемые подпрограммы
| 
             IAH1R - IAH1E  | вычисление коэффициентов ряда по многочленам Чебышева, аппроксимирующего заданную функцию, в режиме одинарной и расширенной (Extended) точности; используются в подпрограммах IAH2R и IAH2E соответственно. | 
Замечания по использованию: нет
Unit tiah2r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, FIAH2R_p, IAH2R_p;
function tiah2r: String;
implementation
function tiah2r: String;
var
N,_i :Integer;
A,B,X,RES :Real;
C :Array [0..9] of Real;
RF :Array [0..9] of Real;
begin
Result := '';  { результат функции }
N := 10;
A := -2.0;
B := 3.0;
X := 2.1;
IAH2R(A,B,C,N,FIAH2R,X,RES,RF);
Result := Result + #$0D#$0A;
for _i:=0 to 9 do
 begin
  Result := Result + Format('%20.16f ',[C[_i]]);
  if ( ((_i+1) mod 3)=0 )
   then Result := Result + #$0D#$0A;
 end;
Result := Result + #$0D#$0A;
Result := Result + Format('%20.16f ',[RES]) + #$0D#$0A;
UtRes('tiah2r',Result);  { вывод результатов в файл tiah2r.res }
exit;
end;
end.
Unit fiah2r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc;
function fiah2r(X :Real): Real;
implementation
function fiah2r(X :Real): Real;
begin
{ Result - прототип имени функции FUNC на FORTRANe }
Result := ArcTan(X);
exit;
end;
end.
Результаты:     RES=1.1253