C 库 - cproj() 函数



C 的复数cproj() 函数用于计算 z(复数)在黎曼球面上的投影。投影是指将点或点集从一个空间映射到另一个空间的映射或变换。

在数学中,黎曼球面是复平面的模型。它将平面上的所有点映射到球面上的点,引入了无穷大作为复函数在无穷大处的行为的表示。

语法

以下是 cproj() 函数的 C 库语法:

double complex cproj( double complex z );

参数

此函数接受单个参数:

  • Z - 它表示我们要计算其投影的复数。

返回值

此函数返回一个复数值,其类型可以是 double、float 或 long double,表示 z 在黎曼球面上的投影。

示例 1

以下是一个基本的 c 程序,用于演示如何使用复数的 cproj()

#include <stdio.h>
#include <complex.h>
#include <math.h> 
int main()
{
   double complex proj1 = cproj(1 + 2*I);
   printf("cproj(1+2i) = %.1f%+.1fi\n", creal(proj1),cimag(proj1));
   
   double complex proj2 = cproj(INFINITY+2.0*I);
   printf("cproj(Inf+2i) = %.1f%+.1fi\n", creal(proj2),cimag(proj2));
}

输出

以下是输出:

cproj(1+2i) = 1.0+2.0i
cproj(Inf+2i) = inf+0.0i

示例 2

让我们来看另一个例子,我们使用 CMPLX() 创建一个复数。然后我们使用 cproj() 计算复数的投影。

#include <stdio.h>
#include <complex.h>
#include <math.h>
int main()
{
   double real = 3;
   double imag = 4;
   double complex z  = CMPLX(real, imag);
   
   double proj = cproj(z);
   
   printf("Complex number: %.1f + %.1fi\n", creal(z), cimag(z));    
   
   printf("Projection of complex number = %.1f + %.1fi\n", creal(proj),cimag(proj));
}

输出

以下是输出:

Complex number: 3.0 + 4.0i
Projection of complex number = 3.0 + 0.0i

示例 3

下面的 c 示例计算负复数的投影。

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

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

   // find the project of complex number
   double proj = cproj(z);

   printf("Complex number: %.2f + %.2fi\n", creal(z), cimag(z));
   printf("project of complex number: %.2f + %.2fi", creal(proj), creal(proj));
   return 0;
}

输出

以下是输出:

Complex number: -3.00 + -4.00i
project of complex number: -3.00 + -3.00i
c_library_complex_h.htm
广告