码迷,mamicode.com
首页 > 其他好文 > 详细

gsl 复数

时间:2018-01-02 11:41:56      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:mat   math.h   efi   运算   创建   image   lock   技术分享   body   

一、复数的表示

  复数的两种表示:

技术分享图片

  gsl复数结构的声明和部分宏在gsl_complex.h中,方法的声明和另一部分宏在gsl_complex_math.h。复数的表示(结构)有三种,即float型、double型和long double型。dat[0]表示实部,dat[1]表示虚部。应注意的是,在gsl_complex_math.h中,所有的方法都是关于gsl_complex和double的。

 1 typedef struct
 2   {
 3     long double dat[2];
 4   }
 5 gsl_complex_long_double;
 6 
 7 typedef struct
 8   {
 9     double dat[2];
10   }
11 gsl_complex;
12 
13 typedef struct
14   {
15     float dat[2];
16   }
17 gsl_complex_float;

二、复数的创建

1 gsl_complex gsl_complex_polar (double r, double theta); /* r= r e^(i theta) */
2 gsl_complex gsl_complex_rect (double x, double y);  /* r= real+i*imag */

  两个函数对应两种不同的表示方法,但返回的结构是一样的。在gsl_complex.h中定义了用于获取实部、获取虚部的宏,在gsl_complex_math.h声明了获取模和弧度的函数。

用于判断复数是否相等、设置复数、设置实部、设置虚部的宏定义在gsl_complex.h中。

#define GSL_REAL(z)     ((z).dat[0])
#define GSL_IMAG(z)     ((z).dat[1])
double gsl_complex_arg (gsl_complex z); /* return arg(z), -pi< arg(z) <=+pi */
double gsl_complex_abs (gsl_complex z);   /* return |z|   */

三、复数的运算

  • 1个求弧函数
  • 3个取模运算(|z|,|z|^2,log |z|)
  • 12个四则运算(复数与复数,复数与实数,复数与虚数)
  • 共轭
  • 复数倒数
  • -z(“复数相反数”)
  • 2个开方运算(被开方数为复数或实数,结果都是复数)
  • 2个乘方运算(指数为复数或实数)
  • exp()
  • 3个对数运算(底数为e、10、z)
  • 三角函数反三角函数
  • 双曲函数反双函数

2018-01-02

gsl 复数

标签:mat   math.h   efi   运算   创建   image   lock   技术分享   body   

原文地址:https://www.cnblogs.com/dda9/p/8175573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!