Текст подпрограммы и версий ( Фортран ) zp16r.zip zp16d.zip |
Тексты тестовых примеров ( Фортран ) tzp16r.zip tzp16d.zip |
Текст подпрограммы и версий ( Си ) zp16r_c.zip zp16d_c.zip |
Тексты тестовых примеров ( Си ) tzp16r_c.zip tzp16d_c.zip |
Текст подпрограммы и версий ( Паскаль ) zp16r_p.zip zp16e_p.zip |
Тексты тестовых примеров ( Паскаль ) tzp16r_p.zip tzp16e_p.zip |
Вычисление корней уравнения третьей степени с вещественными коэффициентами.
Подпрограмма ZР16R вычисляет корни уравнения третьей степени
A(1)*X3 + A(2)*X2 + A(3)*X + A(4) = 0.0 ,
в котором коэффициенты А ( I ), I = 1, 2, 3, 4 являются вещественными. Вычисленные корни в общем случае являются комплексными.
SUBROUTINE ZP16R (A, NREAL, ROOT, IERR)
Параметры
A - | вещественный вектор длины 4, содержащий коэффициенты уравнения третьей степени; |
NREAL - | целая переменная, значение которой в результате работы подпрограммы полагается равным числу вещественных корней; |
ROOT - | вещественный вектор длины 3, содержащий вычисленные корни; |
IERR - | целая переменная, значение которой в результате работы подпрограммы полагается равным 65, если коэффициент А (1) равен 0. |
Версии
ZP16D - | вычисление корней уравнения третьей степени с повышенной точностью. При этом векторы А и RООТ должны иметь тип DОUВLЕ РRЕСISIОN. |
Вызываемые подпрограммы
UTZP10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ZР16R. |
UTZP11 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ZР16D. |
Замечания по использованию
Если все три корня являются вещественными, то они располагаются в возрастающем порядке RООТ (1) ≤ RООТ (2) ≤ RООТ (3). В случае двух комплексных корней, RООТ (1) полагается равным вещественному корню, RООТ (2) равняется вещественной части обоих комплексных корней, а RООТ (3) - мнимой части, причем RООТ (3) всегда положителен. |
DIMENSION A(4), ROOT(3) DATA A(1), A(2), A(3), A(4) /1., - 6., 11., - 6./ CALL ZP16R (A, NREAL, ROOT, IERR) Результаты: RООТ(1) = 1. , RООТ(2) = 2. , ROOT(3) = 3. , NREAL = 3 , IERR = 0