C 库 - cacosh() 函数

❮ C 标准库 - <complex.h>


C complex 库中的 cacosh() 函数用于计算复数反双曲余弦函数,即 z 的反双曲余弦函数,其分支函数沿实轴方向在小于 1 处进行切割。这意味着该函数除 z

反双曲余弦函数 (acosh) z 定义为:
acosh(z)=ln(z + √(z2 - 1))

此函数取决于 z 的类型。如果 z 是"float"类型,我们使用 cacoshf() 来计算 acosh;对于 long double 类型,使用 cacoshl();对于 double 类型,使用 cacosh()

语法

以下是 cacosh() 函数的 C 库语法 -

double complex cacosh( double complex z );

参数

此函数接受单个参数 −

  • Z − 它表示一个复数,我们需要计算它的 acosh。

返回值

此函数返回 z 在实轴上 [0; ∞) 区间以及虚轴上 [iπ +iπ] 区间内的复数反双曲余弦值。

示例 1

以下是一个简单的 C 程序,用于演示如何对复数使用 cacosh()

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

int main() {
   double complex z = 2.0 + 3.0 * I;

   // 计算双曲余弦
   double complex res = cacosh(z);
   printf("Inverse hyperbolic cosine: %.2f%+.2fi", creal(res), cimag(res));

   return 0;
}

输出

以下是输出 -

Inverse hyperbolic cosine: 1.98+1.00i

示例 2

我们来看另一个示例,使用 cacosh() 函数计算实轴的反双曲余弦值。

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    // 实轴的反余弦
    double complex z = 1;
    double complex res = cacosh(z);
    printf("acosh(1+0i) = %f+%fi ", creal(res), cimag(res));
}

输出

以下是输出 -

acosh(1+0i) = 0.000000+0.000000i 

示例 3

以下 C 程序在计算复数的共轭后,计算复数反双曲余弦。

#include <stdio.h>
#include <complex.h>
#include <math.h>
int main() {
   double complex z = 1.0 + 2.0 * I;
   
    // 计算 z 的共轭
    double complex vocation = conj(z);
    
    // 计算共轭的 acosh
    double complex result = acosh(vocation);
    
    // 显示结果
   printf("Conjugate of z: %.2f + %.2fi", creal(conjugate), cimag(conjugate));
   printf("acosh(conjugate): %.2f + %.2fi", creal(result), cimag(result));

   return 0;
}

输出

以下是输出 -

Conjugate of z: 1.00 + -2.00i
acosh(conjugate): 0.00 + 0.00i

❮ C 标准库 - <complex.h>