C库 - ctanh() 函数



C语言复数库的ctanh()函数用于计算z(复数)的双曲正切值。双曲正切函数的性质与普通正切函数类似,区别在于它与双曲线而不是圆有关。

双曲正切(tanh) z(复数)定义为:tanh(z)= sinh(z)/cosh(z)
此函数取决于z(复数)的类型。如果z是“float”类型,我们使用ctanhf()计算tanh;对于long double类型,使用ctanhl();对于double类型,使用ctanh()

语法

以下是ctanh()函数的C库语法:

double complex ctanh( double complex z );

参数

此函数接受单个参数:

  • Z - 代表我们要计算tanh的复数。

返回值

此函数返回z(复数)的复数双曲正切值。

示例1

以下是一个基本的C程序,演示了如何在复数上使用ctanh()

#include <stdio.h>
#include <complex.h>

int main() {
   double complex z = 4.0 + 5.0 * I;

   // Calculate the hyperbolic tangent 
   double complex res = ctanh(z);
   printf("Complex tanh: %.2f%+.2fi\n", creal(res), cimag(res));

   return 0;
}

输出

以下是输出:

Complex tanh: 1.00-0.00i

示例2

让我们看另一个例子,使用ctanh()函数计算实数线的双曲正切值。

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
   // real line
   double complex z = ctanh(1);
   printf("tanh(1+0i) = %.2f+%.2fi \n", creal(z), cimag(z));
}

输出

以下是输出:

tanh(1+0i) = 0.76+0.00i

示例3

下面的程序计算复数虚数线的双曲正切(tanh)和正切(tan)值,然后比较结果以查看它们是否相同。

#include <complex.h>
#include <stdio.h>
#include <math.h>

int main() {
   double complex z = 0.0 + 1.0*I;

   double complex tanh = ctanh(z);
   double complex tan = ctan(z);

   printf("ctanh(%.1fi) = %.2f + %.2fi\n", cimag(z), creal(tanh), cimag(tanh));
   printf("ctan(%.1fi) = %.2f + %.2fi\n", cimag(z), creal(tan), cimag(tan));

   if (cabs(tanh - tan) < 1e-10) {
      printf("The hyperbolic tangent and tangent of the imaginary line are approximately the same.\n");
   } else {
      printf("The hyperbolic tangent and tangent of the imaginary line are different.\n");
   }
   return 0;
}

输出

以下是输出:

ctanh(1.0i) = 0.00 + 1.56i
ctan(1.0i) = 0.00 + 0.76i
The hyperbolic tangent and tangent of the imaginary line are different.
c_library_complex_h.htm
广告