C 库 - ctan() 函数

❮ C 标准库 - <complex.h>


C 复数 库中的 ctan() 函数用于计算给定数的复数正切。复数的正切定义为 tan(z) = sin(z) / cos(z)。该函数通常用于导航领域,例如计算距离、高度和角度。

ctan() 函数在 C99 中效率较低,因此我们将使用 ctanh() 实现所有程序。

语法

以下是 函数的 C 库语法 -

double complex ctan(double complex z);

参数

它只接受一个参数,即 z

返回值

如果没有错误,函数将返回 z 的复数正切值。

示例 1

以下是 C 数学库中 ctanh() 函数的演示。

#include <stdio.h>
#include <math.h>
double ctanh(double x) {
   return cosh(x) / sinh(x);
}
int main() {
   double input = 2.0; 
   double result = ctanh(input); 
   printf("ctanh(%f) = %f", input, result);
   return 0;
}

输出

执行上述代码后,我们得到以下结果 -

ctanh(2.000000) = 1.037315

示例 2

为了计算双曲余切,它使用递归方法对给定输入 x 计算 ctanh 值。它接受两个参数 - x(输入数字)和 n(递归项数)。此外,在函数内部,我们使用以下公式计算级数中的下一项:term = x * x * ctanh_recursive(x, n1)。

#include <stdio.h>
double ctanh_recursive(double x, int n) {
   if (n == 0) {
       return 1.0;
   }
   double term = -x * x * ctanh_recursive(x, n - 1);
   return term / (2 * n - 1);
}

int main() {
    // 给定输入
    double input = 2.0;
    
    // 递归中的项数
    int terms = 10;     
    double result = ctanh_recursive(input, terms);
    printf("ctanh(%lf) = %lf (approximated with %d terms)", input, result, terms);
    return 0;
}

输出

执行上述代码后,我们得到以下结果 -

ctanh(2.000000) = 0.001602 (approximated with 10 terms)

❮ C 标准库 - <complex.h>