casin (Numerics) – C 中文开发手册

[
  •   C 语言中文开发手册

    casin (Numerics) - C 中文开发手册

    在头文件<math.h>中定义
    float complex casinf( float complex z ); (1) (since C99)
    double complex casin( double complex z ); (2) (since C99)
    long double complex casinl( long double complex z ); (3) (since C99)
    Defined in header <tgmath.h>
    #define asin( z ) (4) (since C99)

    1-3)z沿实轴计算在区间-1,+ 1之外的分支切割的复合反正弦。4)类型 - 通用宏:如果z有类型long double complex,casinl被调用。如果z有类型double complex,casin称为,如果z有类型float complex,casinf称为。如果z是真实的或整数,则宏调用相应的实函数(asinf,asin,asinl)。如果z是虚构的,那么宏调用相应的函数的实际版本asinh,实现公式asin(iy)= i asinh(y),并且宏的返回类型是虚构的。

    参数

    z - 复杂的论点

    返回值

    如果没有出现错误,z则在沿虚轴无界且在-π/ 2区间内的条带范围内返回复合反正弦。+π/ 2沿实轴。错误和特殊情况被处理,就像操作被执行一样-I * casinh(I*z)。

    笔记

    反正弦(或反正弦)是一种多值函数,需要在复平面上进行分支切割。通常将分支切割放置在实轴的线段(-∞,-1)和(1,∞)处。反正弦的主值的数学定义为asin z = -_i_ln(_i_z +√1-z2)对于asin(z)= acos(-z) - 中的任何一个,| π ||:----|| 2 |

    #include <stdio.h>
    #include <math.h>
    #include <complex.h>
     
    int main(void)
    {
        double complex z = casin(-2);
        printf("casin(-2+0i) = %f%+fi
    ", creal(z), cimag(z));
     
        double complex z2 = casin(conj(-2)); // or CMPLX(-2, -0.0)
        printf("casin(-2-0i) (the other side of the cut) = %f%+fi
    ", creal(z2), cimag(z2));
     
        // for any z, asin(z) = acos(-z) - pi/2
        double pi = acos(-1);
        double complex z3 = csin(cacos(conj(-2))-pi/2);
        printf("csin(cacos(-2-0i)-pi/2) = %f%+fi
    ", creal(z3), cimag(z3));
    }

    输出:

    casin(-2+0i) = -1.570796+1.316958i
    casin(-2-0i) (the other side of the cut) = -1.570796-1.316958i
    csin(cacos(-2-0i)-pi/2) = 2.000000+0.000000i

    参考

    C11标准(ISO / IEC 9899:2011): 7.3.5.2赌场功能(p:190) 7.25类型通用数学<tgmath.h>(p:373-375) G.7类型 - 通用数学<tgmath.h>(p:545) C99标准(ISO / IEC 9899:1999): 7.3.5.2赌场功能(p:172) 7.22类型通用数学<tgmath.h>(p:335-337) G.7类型 - 通用数学<tgmath.h>(p:480)

  •   C 语言中文开发手册
    ]
    转载请保留页面地址:https://www.breakyizhan.com/c-3/26957.html
    原文地址:https://www.cnblogs.com/breakyizhan/p/13281453.html