Текст подпрограммы и версий pa16c_p.zip pa16z_p.zip |
Тексты тестовых примеров tpa16c_p.zip tpa16z_p.zip |
Возведение комплексного числа в комплексную степень.
Подпрограмма PA16C выполняет возведение заданного комплексного числа a + i b в комплексную степень c + i d по формуле
x + i y = ( a + i b )c + id = ecr - dp ( cos v + i sin v ) , где v = cθ + dr , r = ln (a2 + b2)1/2 , θ = arctg (b/a)
procedure PA16C(A :Real; B :Real; C :Real; D :Real; var X :Real; var Y :Real);
Параметры
A, B - | вещественная и мнимая части заданного комплексного числа a + ib (тип: вещественный); |
C, D - | вещественная и мнимая части заданной комплексной степени c + id, в которую необходимо возвести число a + ib (тип: вещественный); |
X, Y - | вещественные переменные, значения которых на выходе полагаются равными вещественной и мнимой частям числа (a + ib) c + id . |
Версии
PA16Z - | возведение комплексного числа в комплексную степень в режиме расширенной (Extended) точности; при этом параметры A, B, C, D, X и Y должны иметь тип Extended. |
Вызываемые подпрограммы
PA02R - PA02E | вычисление модуля комплексного числа в режимах одинарной и расширенной (Extended) точности; используются в подпрограммах PA16C и PA16Z соответственно. |
Замечания по использованию: нет
Unit TPA16C_p; interface uses SysUtils, Math, { Delphi } LStruct, Lfunc, UtRes_p, PA16C_p; function TPA16C: String; implementation function TPA16C: String; var A,B,C,D,X,Y :Real; begin RЕSult := ''; A := 2.0; B := 1.0; C := 1.0; D := -1.0; PA16C(A,B,C,D,X,Y); Result := Result + Format('%20.16f',[X]) + #$0D#$0A; Result := Result + Format('%20.16f',[Y]) + #$0D#$0A; UtRes('TPA16C',Result); { вывод результатов в файл TPA16C.res } exit; end; end. Результаты: X = 3.35026 Y = -1.18915