Текст подпрограммы и версий ( Фортран ) iah4r.zip , iah4d.zip |
Тексты тестовых примеров ( Фортран ) tiah4r.zip , tiah4d.zip |
Текст подпрограммы и версий ( Си ) iah4r_c.zip , iah4d_c.zip |
Тексты тестовых примеров ( Си ) tiah4r_c.zip , tiah4d_c.zip |
Текст подпрограммы и версий ( Паскаль ) iah4r_p.zip , iah4e_p.zip |
Тексты тестовых примеров ( Паскаль ) tiah4r_p.zip , tiah4e_p.zip |
Вычисление коэффициентов разложения интеграла от заданной функции в ряд по многочленам Чебышева.
Пусть на отрезке [A, B] задана функция f (x). Тогда подпрограмма IAH4R вычисляет коэффициенты cj (j = 1, 2, ..., N) по формуле
N cj = 2/N ∑ f ( (B-A)/2 cos (π (k-1/2) / N) + (B+A)/2 ) cos (π (j-1) (k-1/2) / N) k=1
в разложении функции f (x) в ряд по многочленам Чебышева:
N f(x) ≈ [ ∑ cj Tj-1(y) ] - c1 / 2 , j=1 где y ≡ ( x - (B + A) / 2 ) / ( (B - A) / 2 ) .
По вычисленным коэффициентам cj затем вычисляются коэффициенты CINTj разложения интеграла от функции f (x) в ряд по многочленам Чебышева:
N F(x) = ∫ f (t) dt ≈ [ ∑ CINTj Tj-1 (y) ] - CINT1 / 2 j=1 по формулам CINTj = [ (cj-1 - cj+1) / (2(j-1)) ] * (B-A)/2 , j = 2, 3,..., N-1 CINTN = cN-1 / (2(N-1)) * (B-A)/2
Постоянной интегрирования соответствует коэффициент CINT1 , значение которого выбирается в подпрограмме таким образом, чтобы значение F (A) было равно нулю.
Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.
SUBROUTINE IAH4R (A, B, C, N, FUNC, CINT, RF)
Параметры
A, B - | нижняя и верхняя границы отрезка, на котором задана функция f (x) (тип: вещественный); |
C - | вещественный вектор длины N, содержащий вычисленные значения коэффициентов разложения функции f (x) в ряд по многочленам Чебышева; |
N - | заданное количество членов ряда (тип: целый); |
FUNC - |
имя вещественной подпрограммы - функции, вычисляющей
значения функции f (x) в любой точке отрезка [A, B];
ее первый оператор должен иметь вид: FUNCTION FUNC (X), где X - значение аргумента (тип: вещественный); |
CINT - | вещественный вектор длины N, содержащий вычисленные значения коэффициентов разложения интеграла от f (x) в ряд по многочленам Чебышева; |
RF - | вещественный вектор длины N, используемый в подпрограмме в качестве рабочего. |
Версии
IAH4D - | вычисление коэффициентов разложения интеграла от заданной функции в ряд по многочленам Чебышева в режиме удвоенной точности; при этом параметры A, B, C, CINT и RF должны иметь тип DOUBLE PRECISION, а подпрограмма - функция FUNC должна быть описана как DOUBLE PRECISION FUNCTION . |
Вызываемые подпрограммы
IAH1R - IAH1D | вычисление коэффициентов ряда по многочленам Чебышева, аппроксимирующего заданную функцию, в режиме одинарной и удвоенной точности; используются в подпрограммах IAH4R и IAH4D соответственно. |
Замечания по использованию: нет
DIMENSION C(10), CINT(10), RF(10) EXTERNAL FUNC N = 10 A = 0.0 B = 1.0 CALL IAH4R (A, B, C, N, FUNC, CINT, RF) FUNCTION FUNC(X) FUNC = COS(X) RETURN END Результаты: CINT = ( 0.899853, 0.425221, -0.293447E-01, -0.449977E-02, 0.154123E-03, 0.141370E-04, -0.321255E-06, -0.218021E-07, 0.540888E-09, 0.172063E-08 )