cpow, cpowf, cpowl – возведение комплексного числа в комплексную степень.
Синтаксис:
#include < complex.h >
double complex cpow (double complex x, double complex y);
float complex cpowf (float complex x, float complex y);
long double complex cpowl (long double complex x, long double complex y);
Аргументы:
x – переменная, которую нужно возвести в степень y.
Возвращаемое значение:
Аргумент x, возведенный в степень y (xy).
Описание:
Функции возводят аргумент x в степень y, причем и аргумент и степень в которую требуется возвести – это комплексные числа.
При этом реальная и мнимая части аргументов и возвращаемого значения функции cpow() задаются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).
Реальная и мнимая части аргументов и возвращаемого значения функции cpowf() задаются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).
Реальная и мнимая части аргументов и возвращаемого значения функции cpowl() задаются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).
Пример:
В примере комплексное число 2.1+i*3.25 возводится в степень 1.56-i*2.45 с помощью функций cpow, cpowf и cpowl, и результат выводится на консоль. Обратите внимание на точность полученных результатов. При возведении в степень с помощью функции cpowf, будет самая маленькая точность, а с помощью функции cpowl – самая большая.
#include < stdio.h > //Для printf
#include < complex.h > //Для cpowt, cpowf, cpowl, creal,
//cimag, crealf, cimagf, creall, cimagl
int main (void)
{
//Переменные для сохранения результатов
float complex rez1;
double complex rez2;
long double complex rez3;
//Возведение в степень с помощью функции cpowf
rez1=cpowf (2.1+I*3.25, 1.56-I*2.45);
//Возведение в степень с помощью функции cpow
rez2=cpow (2.1+I*3.25, 1.56-I*2.45);
//Возведение в степень с помощью функции cpowl
rez3=cpowl (2.1+I*3.25, 1.56-I*2.45);
//Вывод аргументов
printf (“Аргументы: 2.1+i*3.25 и 1.56-i*2.45\n”);
//Вывод результата расчета функции cpowf
printf (“cpowf : %.15f+%.15f*i\n”, crealf (rez1), cimagf (rez1) );
//Вывод результата расчета функции cpow
printf (“cpow : %.15f+%.15f*i\n”, creal (rez2), cimag (rez2) );
//Вывод результата расчета функции cpowl
printf (“cpowl : %.15Lf+%.15Lf*i\n”, creall (rez3), cimagl (rez3) );
return 0;
}
| |
Результат:
Аргументы: 2.1+i*3.25 и 1.56-i*2.45
cpowf : -17.828071594238281-93.306213378906250*i
cpow : -17.828073411257428-93,306226445508429*i
cpowl : -17.828073411257402-93,306226445508422*i
|
Смотри так же:
hypot, hypotf, hypotl
cbrt, cbrtf, cbrtl
sqrt, sqrtf, sqrtl
pow, powf, powl
cpow, cpowf, cpowl
|