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