C库 - cacosh() 函数



C语言复数库的cacosh()函数用于计算复数反双曲余弦,即z的反双曲余弦,其分支切割在实轴上小于1的值处。这意味着该函数在除实轴z<1外的所有地方都是连续且单值的。

The inverse hyperbolic cosine (acosh) z is defined as:
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;

   // Calculate the hyperbolic cosine
   double complex res = cacosh(z);
   printf("Inverse hyperbolic cosine: %.2f%+.2fi\n", 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)
{
    // inverse cosine of real axis
    double complex z = 1;
    double complex res = cacosh(z);
    printf("acosh(1+0i) = %f+%fi \n", 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;
   
   // Calculate the conjugate of z
   double complex conjugate = conj(z);

   // Compute the acosh of the conjugate
   double complex result = acosh(conjugate);

   // Display the result
   printf("Conjugate of z: %.2f + %.2fi\n", creal(conjugate), cimag(conjugate));
   printf("acosh(conjugate): %.2f + %.2fi\n", creal(result), cimag(result));

   return 0;
}

输出

以下是输出:

Conjugate of z: 1.00 + -2.00i
acosh(conjugate): 0.00 + 0.00i
c_library_complex_h.htm
广告
© . All rights reserved.