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
广告