Текст подпрограммы и версий ( Фортран ) qs80r.zip qs80d.zip |
Тексты тестовых примеров ( Фортран ) tqs80r.zip tqs80d.zip |
Текст подпрограммы и версий ( Си ) qs80r_c.zip qs80d_c.zip |
Тексты тестовых примеров ( Си ) tqs80r_c.zip tqs80d_c.zip |
Текст подпрограммы и версий ( Паскаль ) qs80r_p.zip qs80e_p.zip |
Тексты тестовых примеров ( Паскаль ) tqs80r_p.zip tqs80e_p.zip |
Вычисление узлов и весов Гаусса - Лежандра.
QS80R вычисляет по методу Ньютона корни X1,X2, ..., Хn полинома Лежандра
Ln(x) = 1/(2nn) dn(x2-1)n / dxn
и соответствующие им весовые множители C1, C2, ... ,Cn для квадратурной формулы Гаусса
1 ∫ f(x) dx ≈ ( c1f(x1) + c2f(x2) + ... + cnf(xn) ) . -1
Для n допускаются значения 2 ≤ n ≤ 128.
Я.М.Жилейкин, А.Г.Симакин. Набор стандартных программ приближенного вычисления многократных интегралов с помощью метода Гаусса. Сб. "Численный анализ на ФОРТРАНе", вып. 19, Изд-во МГУ, 1977.
SUBROUTINE QS80R (N, X, C)
Параметры
N - | заданное число узлов и весов Гаусса - Лежандра (тип: целый); |
X - | вещественный вектоp длины entier ( (N + 1)/2 ), содержащий вычисленные значения узлов; |
C - | вещественный вектоp длины entier ( (N + 1)/2 ), содержащий вычисленные значения весов. |
Версии
QS80D - | вычисление с удвоенной точностью узлов и весов Гаусса - Лежандра. |
Вызываемые подпрограммы: нет
Замечания по использованию
Tак как корни полиномов Лежандра L (X) симметричны относительно нуля, а веса, соответствующие симметричным корням, равны, то в вектоp Х засылаются только неотрицательные корни в порядке их убывания, а в вектоp C - соответствующие им веса. В подпрограмме QS80D параметры X, C имеют тип DOUBLE PRECISION. |
DIMENSION X(3), C(3) N = 5 CALL QS80R (N, X, C) Результаты: X (1) = 0.9061798459 X (2) = 0.5384693101 X (3) = 0.0000000000 C (1) = 0.2369268850 C (2) = 0.4786286705 C (3) = 0.5888888888