сacos, cacosf, cacosl – расчет комплексного арккосинуса
Синтаксис:
#include < complex.h >
double complex cacos (double complex z);
float complex cacosf (float complex z);
long double complex cacos (long double complex z);
Аргументы:
z – комплексное число, арккосинус которого требуется рассчитать
Возвращаемое значение:
Комплексный арккосинус аргумента.
Описание:
Функции рассчитывают значение комплексного арккосинуса.
Тригонометрические функции комплексного аргумента представляют собой аналитические продолжения соответствующих тригонометрических функций действительного аргумента в комплексную плоскость. Формула Эйлера ei*a=cos(a) + i*sin(a), позволяет определить тригонометрическую функцию от комплексного аргумента через экспоненту
Таким образом, комплексный косинус может быть представлен в виде: cos(z) = (ei*z+e-i*z)/2
Комплексный арккосинус – функция обратная комплексному косинусу, то есть, если Y = cacos (Z), то Z = ccos (Y)
Действительная и мнимая часть аргумента и возвращаемого значения функции cacos задаются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).
Действительная и мнимая часть аргумента и возвращаемого значения функции cacosf задаются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).
Действительная и мнимая часть аргумента и возвращаемого значения функции cacosl задаются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).
Пример:
В примере рассчитывается комплексный арккосинус от 5+i*2 с помощью функций cacos, cacosf и cacosl, и результат выводится на консоль. Обратите внимание на точность полученных результатов. У комплексного арккосинуса, рассчитанного с помощью функции cacosf, будет самая маленькая точность, а у рассчитанного с помощью функции cacosl – самая большая.
#include < stdio.h > //Для printf
#include < complex.h > //Для cacos, cacosf, cacosl, creal,
//cimag, crealf, cimagf, creall, cimagl
int main (void)
{
//Переменные для сохранения результатов
float complex rez1;
double complex rez2;
long double complex rez3;
//Расчет арккосинуса с помощью функции cacosf
rez1=cacosf (5+I*2);
//Расчет арккосинуса с помощью функции cacos
rez2=cacos (5+I*2);
//Расчет арккосинуса с помощью функции cacosl
rez3=cacosl (5+I*2);
//Вывод аргумента
printf (“Аргумент: 5+i*2\n”);
//Вывод результата расчета функции cacosf
printf (“cacosf : %.15f%+.15f*i\n”, crealf (rez1), cimagf (rez1) );
//Вывод результата расчета функции cacos
printf (“cacos : %.15f%+.15f*i\n”, creal (rez2), cimag (rez2) );
//Вывод результата расчета функции cacosl
printf (“cacosl : %.15Lf%+.15Lf*i\n”, creall (rez3), cimagl (rez3) );
return 0;
}
| |
Результат:
Аргумент: 5+2*i
cacosf : 0.386563897132873-2.370546817779541*i
cacos : 0.386564642519873-2.370548537317920*i
cacosf : 0.386564642519874-2.370548537317919*i
|
Смотри так же:
sin, sinf, sinl,
asin, asinf, asinl,
cos, cosf, cosl,
acos, acosf, acosl,
tan, tanf, tanl,
atan, atanf, atanl,
atan2, atan2f, atan2l,
sincos, sincosf, sincosl,
csin, csinf, csinl,
casin, casinf, casinl,
ccos, ccosf, ccosl,
cacos, cacosf, cacosl,
ctan, ctanf, ctanl,
catan,catanf,catanl,
sinh, sinhf, sinhl,
asinh, asinhf, asinhl,
cosh,coshf,coshl,
acosh, acoshf, acoshl,
tanh, tanhf, tanhl,
atanh, atanhf, atanhl,
|