Spec-Zone.ru › C

ctanf, ctan, ctanl

Определено в заголовочном файле <complex.h>
float complex       ctanf( float complex z );
(1) (с C99)
double complex      ctan( double complex z );
(2) (с C99)
long double complex ctanl( long double complex z );
(3) (с C99)
Определено в заголовочном файле <tgmath.h>
#define tan( z )
(4) (с C99)
1-3) Вычисляет комплексную тангенс z.
4) Тип-обобщенный макрос: Если 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, поэтому нет значения аргумента, при котором возникает ошибка полюса. Математическое определение тангенса: tan z =

i(e-iz-eiz)/e-iz+eiz

Пример

#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)

См. также

ctanhctanhfctanhl
(C99)(C99)(C99)
вычисляет комплексную гиперболическую тангенс
(функция)
csincsinfcsinl
(C99)(C99)(C99)
вычисляет комплексную синус
(функция)
ccosccosfccosl
(C99)(C99)(C99)
вычисляет комплексную косинус
(функция)
catancatanfcatanl
(C99)(C99)(C99)
вычисляет комплексную арктангенс
(функция)
tantanftanl
(C99)(C99)
вычисляет тангенс (\({\small\tan{x} }\)tan(x))
(функция)
Документация C++ для tan

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/ctan

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API