- C標準庫
- C庫 - 首頁
- C庫 - <assert.h>
- C庫 - <complex.h>
- C庫 - <ctype.h>
- C庫 - <errno.h>
- C庫 - <fenv.h>
- C庫 - <float.h>
- C庫 - <inttypes.h>
- C庫 - <iso646.h>
- C庫 - <limits.h>
- C庫 - <locale.h>
- C庫 - <math.h>
- C庫 - <setjmp.h>
- C庫 - <signal.h>
- C庫 - <stdalign.h>
- C庫 - <stdarg.h>
- C庫 - <stdbool.h>
- C庫 - <stddef.h>
- C庫 - <stdio.h>
- C庫 - <stdlib.h>
- C庫 - <string.h>
- C庫 - <tgmath.h>
- C庫 - <time.h>
- C庫 - <wctype.h>
- C程式設計資源
- C程式設計 - 教程
- C - 有用資源
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
廣告