сcos, ccosf, ccosl – расчет комплексного косинуса
Синтаксис:
#include < complex.h >
double complex ccos (double complex z);
float complex ccosf (float complex z);
long double complex ccosl (long double complex z);
Аргументы:
z – комплексное значение угла.
Возвращаемое значение:
Косинус угла, заданного комплексным аргументом.
Описание:
Функции рассчитывают значение комплексного косинуса.
Тригонометрические функции комплексного аргумента представляют собой аналитические продолжения соответствующих тригонометрических функций действительного аргумента в комплексную плоскость. Формула Эйлера ei*a=cos(a) + i*sin(a), позволяет определить тригонометрическую функцию от комплексного аргумента через экспоненту
Таким образом, комплексный косинус может быть представлен в виде: cos(z) = (ei*z+e-i*z)/2
Расчет комплексного косинуса в функциях осуществляется по приведенным ниже формулам:
ccos (z) = ( exp (i*z) + exp (-i*z) )/ 2
ccosf (z) = ( expf (i*z) + expf (-i*z) )/ 2
ccosl (z) = ( expl (i*z) + expl (-i*z) )/ 2
Действительная и мнимая часть аргумента и возвращаемого значения функции ccos задаются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).
Действительная и мнимая часть аргумента и возвращаемого значения функции ccosf задаются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).
Действительная и мнимая часть аргумента и возвращаемого значения функции ccosl задаются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).
Пример:
В примере рассчитывается комплексный косинус от 5+i*2 с помощью функций ccos, ccosf и ccosl, и результат выводится на консоль. Обратите внимание на точность полученных результатов. У комплексного косинуса, рассчитанного с помощью функции ccosf, будет самая маленькая точность, а у рассчитанного с помощью функции ccosl – самая большая.
#include < stdio.h > //Для printf
#include < complex.h > //Для ccos, ccosf, ccosl, creal,
//cimag, crealf, cimagf, creall, cimagl
int main (void)
{
//Переменные для сохранения результатов
float complex rez1;
double complex rez2;
long double complex rez3;
//Расчет косинуса с помощью функции ccosf
rez1=ccosf (5+I*2);
//Расчет косинуса с помощью функции ccos
rez2=ccos (5+I*2);
//Расчет косинуса с помощью функции ccosl
rez3=ccosl (5+I*2);
//Вывод аргумента
printf (“Аргумент: 5+i*2\n”);
//Вывод результата расчета функции ccosf
printf (“ccosf : %.17f%+.17f*i\n”, crealf (rez1), cimagf (rez1) );
//Вывод результата расчета функции ccos
printf (“ccos : %.17f%+.17f*i\n”, creal (rez2), cimag (rez2) );
//Вывод результата расчета функции ccosl
printf (“ccosl : %.17Lf%+.17Lf*i\n”, creall (rez3), cimagl (rez3) );
return 0;
}
| |
Результат:
Аргумент: 5+2*i
ccosf : 1.06719267368316650+ 3.47788453102111816*i
ccos : 1.06719265187311563+ 3.47788448589915689*i
ccosl : 1.06719265187311577+ 3.47788448589915703*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,
|