C 庫 - cacos() 函式



C 的複數cacos()函式執行給定複數的複數反正弦或反餘弦運算。此函式在 <complex.h> 標頭檔案中定義,自 C99 起可用。

語法

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

double complex cacos(double complex z);

引數

此函式僅接受單個引數:

  • z:這是我們要對其進行反正弦運算的複數。

返回值

如果沒有發生錯誤,則該函式返回複數反正弦值 (z)。

示例 1

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

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

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

輸出

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

cacos(1.000000 + 2.000000i) = 1.143718 + -1.528571i

示例 2

下面的程式使用迴圈迭代器在遞迴函式中實現級數公式term = -(z * z) * (2 * i - 1) / (2 * i)

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

double complex cacos_sol(double complex z, int n) {
   double complex sum = z;
   double complex term = z;

   for (int i = 1; i <= n; ++i) {
      term *= -(z * z) * (2 * i - 1) / (2 * i);
      sum += term;
   }

   return sum;
}

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

輸出

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

cacos(1.000000 + 2.000000i) = -522414.418148 + -4291552.656029i (approximated with 10 terms)

示例 3

自定義函式 cacos_recursive() 接受兩個引數 z 和 n 來計算項數。當第 n 項達到 0 時,函式返回結果值 z(複數)。

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

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

int main() {

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

輸出

上述程式碼產生以下結果:

cacos(1.000000 + 2.000000i) = -522414.418148 + -4291552.656029i (approximated with 10 terms)
c_library_complex_h.htm
廣告
© . All rights reserved.