Текст подпрограммы и версий ( Фортран ) zp39r.zip zp39d.zip |
Тексты тестовых примеров ( Фортран ) tzp39r.zip tzp39d.zip |
Текст подпрограммы и версий ( Си ) zp39r_c.zip zp39d_c.zip |
Тексты тестовых примеров ( Си ) tzp39r_c.zip tzp39d_c.zip |
Текст подпрограммы и версий ( Паскаль ) zp39r_p.zip zp39e_p.zip |
Тексты тестовых примеров ( Паскаль ) tzp39r_p.zip tzp39e_p.zip |
Деление двух полиномов с вещественными коэффициентами.
ZР39R вычисляет М первых коэффициентов полинома
C(X) = XK*( C(1) + C(2)*X + ... + C(M)*X(M - 1) + ... ) ,
такого, что С (Х) = А (Х) / В (Х), где А (Х) и В (Х) - заданные полиномы степени NР и L соответственно.
A(X) = A(1) + A(2)*X + A(3)*X2 + ... + A(NP + 1)*XNP , B(X) = B(1) + B(2)*X + B(3)*X2 + ... + B(L + 1)*XL ,
у которых коэффициенты А ( I ), I = 1, 2, 3, ..., NР + 1 и В ( I ), I = 1, 2, 3, ..., L + 1 являются вещественными. Здесь К = R - S, где R и S представляют собой число первых коэффициентов полиномов А (Х) и В (Х), равных 0.
SUBROUTINE ZP39R (NP, A, L, B, M, C, K)
Параметры
NP - | заданная степень полинома А (Х) (тип: целый); |
A - | вещественный вектор длины NР + 1, содержащий коэффициенты заданного полинома А (Х) в порядке возрастания степеней; |
L - | заданная степень полинома В (Х) (тип: целый); |
B - | вещественный вектор длины L + 1, содержащий коэффициенты заданного полинома В (Х) в порядке возрастания степеней; |
M - | заданное число искомых коэффициентов полинома С (Х) (тип: целый); |
C - | вещественный вектор длины М, содержащий вычисленные коэффициенты полинома С (Х) в порядке возрастания степеней; |
K - | целая переменная, значение которой в результате работы подпрограммы полагается равным R - S. |
Версии
ZP39D - | деление двух полиномов с вещественными коэффициентами с повышенной точностью. При этом векторы А, В и С должны иметь тип DОUВLЕ РRЕСISIОN. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
DIMENSION A(3), B(5), C(6) DATA A(1), A(2), A(3) /0., 1., 2./ DATA B(1), B(2), B(3), B(4), B(5) /0., 0., 1., 2., 3./ NP = 2 L = 4 M = 6 CALL ZP39R (NP, A, L, B, M, C, K) Результаты: С(1) = 1. , С(2) = 0. , С(3) = - 3. , С(4) = 6. , C(5) = - 3., C(6) = - 12. , K = - 1