ctanf, ctan, ctanl
|
Определено в заголовочном файле
<complex.h>
|
||
| (1) | (начиная с C99) | |
| (2) | (начиная с C99) | |
| (3) | (начиная с C99) | |
|
Определено в заголовочном файле
<tgmath.h>
|
||
|
#define tan( z )
|
(4) | (начиная с C99) |
z
.
z
имеет тип
long
double
complex
,
ctanl
вызывается. Если
z
имеет тип
double
complex
,
ctan
вызывается. Если
z
имеет тип
float
complex
,
ctanf
вызывается. Если
z
является вещественным или целочисленным, то макрос вызывает соответствующую вещественную функцию (
tanf
,
tan
,
tanl
). Если
z
является мнимым, то макрос вызывает соответствующую вещественную версию функции
tanh
, реализуя формулу
tan(iy) = i tanh(y)
, и возвращаемый тип является мнимым.
Содержание |
Параметры
| z | - | комплексный аргумент |
Возвращаемое значение
Если ошибок не возникает, возвращается комплексный тангенс
z
.
Ошибки и особые случаи обрабатываются так, как если бы операция была реализована с помощью
-
i
*
ctanh
(
i
*
z
)
, где
i
является мнимой единицей.
Примечания
Тангенс является аналитической функцией на комплексной плоскости и не имеет точек ветвления. Он периодичен относительно действительной компоненты с периодом πi и имеет полюсы первого порядка вдоль действительной оси в координатах (π(1/2 + n), 0) . Однако ни одно распространенное представление с плавающей точкой не может точно представить π/2, поэтому не существует значения аргумента, при котором возникает ошибка полюса.
Mathematical definition of the tangent is tg z =|
i(e
-iz
-e iz ) |
|
e
-iz
+e iz |
Пример
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = ctan(1); // behaves like real tangent along the real line printf("tan(1+0i) = %f%+fi ( tan(1)=%f)\n", creal(z), cimag(z), tan(1)); double complex z2 = ctan(I); // behaves like tanh along the imaginary line printf("tan(0+1i) = %f%+fi (tanh(1)=%f)\n", creal(z2), cimag(z2), tanh(1)); }
Вывод:
tan(1+0i) = 1.557408+0.000000i ( tan(1)=1.557408) tan(0+1i) = 0.000000+0.761594i (tanh(1)=0.761594)
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.3.5.6 Функции ctan (стр. 192)
-
- 7.25 Обобщённые типы для комплексных чисел <tgmath.h> (стр. 373-375)
-
- G.7 Обобщённая математика <tgmath.h> (стр. 545)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.3.5.6 Функции ctan (стр. 174)
-
- 7.22 Обобщённые типы для комплексных чисел <tgcomplex.h> (стр. 335-337)
-
- G.7 Обобщённая математика <tgmath.h> (стр. 480)
Смотрите также
|
(C99)
(C99)
(C99)
|
вычисляет комплексный гиперболический тангенс
(функция) |
|
(C99)
(C99)
(C99)
|
вычисляет комплексный синус
(функция) |
|
(C99)
(C99)
(C99)
|
вычисляет комплексный косинус
(функция) |
|
(C99)
(C99)
(C99)
|
вычисляет комплексный арктангенс
(функция) |
|
(C99)
(C99)
|
вычисляет тангенс (
tan(x)
)
(функция) |
|
Документация C++
для
tan
|
|