问题
复数计算
解决方案
复数通过complex()函数来指定,或者通过浮点数加上后缀j来指定;实部、虚部和共轭值可以很方便的提取取来:
a = complex(3, 4)
print(a)
# a=(3+4j)
b = 3-5j
print (b)
#b = (3-5j)
#提取实部
print (a.real)
#3.0
#提取虚部
print (a.imag)
#4.0
print(a.conjugate())
#(3-4j)
所有常见的算术运算操作都适用复数:
print (a+b)
#(6-1j)
print (a-b)
#9j
如果要执行有关复数的函数操作,例如求正弦、余弦或平方根,可以使用cmath模块
import cmath
print (cmath.sin(a))
#(3.853738037919377-27.016813258003936j)
python中大部分和数学相关的模块都可适用复数,例如,使用numpy模块可以直接的创建复数数组,并对它们进行操作:
import numpy as np
a = np.array([2+3j, 4+5j, 6-7j, 8+9j])
print (a)
python中的标准函数默认情况下不会产生复数值;如果希望产生复数结果,那必须明确使用cmath模块或者可以感知复数的库中声明对复数类型的使用。
import math
print (math.sqrt(-1))
#ValueError:math domain error
import cmath
print (cmath.sqrt(-1))
#1j
网友评论