[2002-04-03] by sugawah@attglobal.net
处理复数的类
若想使用Complex的话,必须添加require 'complex'语句。当您require该库时,Math模块会作相应的扩展以处理复数。
require 'complex'
因为Vector以及Matrix中包含复数,所以如果程序中已经读入了附加库的矢量类Vector以及矩阵类Matrix的话,就可以直接使用复数了。关于这个问题,请参考Vector以及Matrix的文档。
require 'matrix' require 'complex'
Complex.new(r,i=0)Complex(r,i=0)生成实部为r,虚部为i的复数。
Complex#+ c加上复数c并返回结果。
Complex#- c减去复数c并返回结果。
Complex#* c乘以复数c并返回结果。
Complex#/ c除以复数c并返回结果。
Complex#% c除以复数c,并返回余数(实部与实部进行运算,虚部与虚部进行运算)。
Complex#** c用复数c进行阶乘并返回结果。
Complex#divmod -- obsolete该方法已停用。
Complex#abs返回复数的绝对值。
Complex#abs2返回复数绝对值的平方。
Complex#arg返回复数的偏角。(值域?)
Complex#polar返回复数的极坐标形式,即返回数组[self.abs,self.arg]。
Complex#conjugate返回共轭复数。
Complex#real返回实部。
Complex#image返回虚部。
Complex#<=> c与c进行比较并返回结果。
Complex#== c若与c相等则返回真。
Complex#to_i变为整数Integer。
Complex#to_f变为浮点数Float。
Complex#to_r变为有理数Rational。
虚数单位。