C庫 - carg() 函式



C **complex** 庫的 carg() 函式用於計算複數的輻角(相位角)。複數 (z = x + jy) 的相位角是複平面上表示覆數的直線與正實軸之間的角度。它表示為π或θ。

此函式取決於z(複數)的型別。如果z是“float”型別或浮點虛數,我們可以使用cargf()計算相位角;對於long double型別,使用cargl();對於double型別,使用carg()

語法

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

double carg( double complex z );

引數

此函式接受一個引數:

  • Z − 表示我們要計算相位角的複數。

返回值

如果未發生錯誤,此函式返回z在區間[-π, π]內的相位角。

示例1

以下是一個基本的C程式,演示了使用carg()計算z的相位角。

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

int main(void) {
   double complex z = 1.0 + 1.0 * I;   
   printf("Phase angle of %.1f + %.1fi is %.6f\n", creal(z), cimag(z), carg(z));   
   return 0;
}

輸出

以下是輸出:

Phase angle of 1.0 + 1.0i is 0.785398

示例2

讓我們看另一個例子,我們使用carg()函式計算負複數的相位角(輻角)。

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

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

   // Calculate the phase angle using carg()
   double phase_angle = carg(z);

   printf("Complex number: %.1f + %.1fi\n", creal(z), cimag(z));
   printf("Phase angle: %.6f radians\n", phase_angle);

   return 0;
}

輸出

以下是輸出:

Complex number: -3.0 + 4.0i
Phase angle: 2.214297 radians

示例3

下面的例子計算位於第三象限的複數的相位角。

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

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

   // Calculate the phase angle using carg()
   double phase_angle = carg(z);

   printf("Complex number: %.1f + %.1fi\n", creal(z), cimag(z));
   printf("Phase angle: %.6f radians\n", phase_angle);
   return 0;
}

輸出

以下是輸出,表明根據區間[-π, π],相位角位於第三象限。

Complex number: -3.0 + -4.0i
Phase angle: -2.214297 radians
c_library_complex_h.htm
廣告
© . All rights reserved.