C 庫 - casin() 函式



C 的複數casin() 函式對給定的複數執行復數反正弦運算。此函式在 C99 中可用,並適用於複數。它的行為與 asin() 完全不同。asin() 函式實現數字(以弧度為單位)的正弦反函式。

語法

以下是 casin() 函式的 C 庫語法:

double complex ccasin(double complex z);

引數

它只接受一個引數 z(複數),該引數執行反正弦運算。

返回值

當沒有發生錯誤時,該函式返回 z 的複數反正弦。

示例 1

以下是顯示 casin() 函式用法的 C 庫程式。

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

int main() {
   double complex z = 1.0 + 2.0 * I; 
   double complex result = casin(z);
   printf("casin(%lf + %lfi) = %lf + %lfi\n", creal(z), cimag(z), creal(result), cimag(result));
   return 0;
}

輸出

執行以上程式碼後,我們得到以下結果:

casin(1.000000 + 2.000000i) = 0.427079 + 1.528571i

示例 2

在這裡,我們演示了 casin 的級數公式,以使用遞迴查詢項數,並藉助一些預先存在的函式(例如 creal()、cimag() 和 cimag())顯示結果。

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

double complex casin_recursive(double complex z, int n) {
    if (n == 0) {
        return z;
    }
    double complex term = -(z * z) * (2 * n - 1) / (2 * n) * casin_recursive(z, n - 1);
    return term;
}

int main() {
    double complex z = 1.0 + 2.0 * I; 
    int terms = 10; 
    double complex result = casin_recursive(z, terms);
    printf("casin(%lf + %lfi) = %lf + %lfi (approximated with %d terms)\n", creal(z), cimag(z), creal(result), cimag(result), terms);
    return 0;
}

輸出

執行以上程式碼後,我們得到以下結果:

`
casin(1.000000 + 2.000000i) = -1180400.258221 + -3662001.649712i (approximated with 10 terms)
c_library_complex_h.htm
廣告

© . All rights reserved.