C 库 - casinh() 函数

❮ C 标准库 - <complex.h>


C complex 库中的 casinh() 函数用于计算复数反双曲正弦函数,即 z 的反双曲正弦函数,其分支点位于虚轴上区间 [i,+i] 之外。该函数对于虚轴上不在此区间内的任何复数 z 都具有连续性和单值性。

反双曲正弦函数 (asinh) z 定义为:
asinh(z)=ln(z + √(z2 + 1))

此函数取决于 z(复数)的类型。如果 z 是"float"类型,我们使用 casinhf() 来计算 asinh;对于 long double 类型,使用 casinhl();对于 double 类型,使用 casinh()

语法

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

double complex casinh( double complex z );

参数

此函数接受单个参数 -

  • Z - 它表示一个复数,我们需要计算它的反双曲正弦值。

返回值

此函数返回 z 的复数反双曲正弦值,其值无界,即可以是任意实数。沿虚轴,在区间 [iπ/2,+iπ/2] 内。

示例 1

以下是一个基本的 C 程序,用于演示如何对复数使用 casinh()

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

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

   // Calculate the asinh
   double complex res = casinh(z);
   printf("Complex sinh: %.2f%+.2fi", creal(res), cimag(res));

   return 0;
}

输出

以下是输出 -

Complex sinh: 2.30+0.92i

示例 2

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

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    // real axis
	double complex z = casinh(1);
    printf("asinh(1+0i) = %f+%fi ", creal(z), cimag(z));
}

输出

以下是输出 -

asinh(1+0i) = 0.881374+0.000000i

示例 3

以下程序使用 casinh() 函数计算虚轴的反双曲正弦值。

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
   // imaginary axis
   double complex z2 = casinh(I); 
   printf("asinh(0+1i) = %f+%fi ", creal(z2), cimag(z2));
}

输出

以下是输出 -

asinh(0+1i) = 0.000000+1.570796i

❮ C 标准库 - <complex.h>