上一篇
Python complex类型详解:在Python中表示和操作复数变量
- Python
- 2025-08-18
- 2021
Python complex类型详解:在Python中表示和操作复数变量
Python中的complex类型用于表示复数,在科学计算、工程学和物理学等领域有广泛应用。
本教程将全面介绍如何在Python中创建和使用复数变量,进行复数运算,以及使用相关数学函数。
什么是复数?
复数由实部和虚部组成,形式为 a + bj,其中:
a是实部b是虚部j是虚数单位(在数学中常用 i,但在工程中常用 j)
创建复数变量
1. 使用字面值创建
# 创建复数变量
z1 = 3 + 4j # 实部3,虚部4
z2 = 2.5 - 3.7j # 实部2.5,虚部-3.7
z3 = 6j # 实部0,虚部6
z4 = -2 - 9.2j # 实部-2,虚部-9.2
print("z1 =", z1) # 输出: z1 = (3+4j)
print("z2 =", z2) # 输出: z2 = (2.5-3.7j)
print("z3 =", z3) # 输出: z3 = 6j
print("z4 =", z4) # 输出: z4 = (-2-9.2j)
2. 使用complex()函数创建
# 使用complex()函数创建复数
c1 = complex(3, 4) # 实部3,虚部4 → (3+4j)
c2 = complex(2.5, -3.7) # 实部2.5,虚部-3.7 → (2.5-3.7j)
c3 = complex(0, 6) # 实部0,虚部6 → 6j
c4 = complex(-2) # 实部-2,虚部0 → (-2+0j)
print("c1 =", c1)
print("c2 =", c2)
print("c3 =", c3)
print("c4 =", c4)
访问复数的实部和虚部
使用.real和.imag属性访问复数的实部和虚部:
z = 3 + 4j
# 获取实部和虚部
real_part = z.real # 3.0
imag_part = z.imag # 4.0
print("实部:", real_part)
print("虚部:", imag_part)
复数的基本运算
1. 加法与减法
a = 2 + 3j
b = 4 - 5j
# 加法
sum_result = a + b # (2+4) + (3-5)j → 6 - 2j
# 减法
diff_result = a - b # (2-4) + (3-(-5))j → -2 + 8j
print("加法结果:", sum_result)
print("减法结果:", diff_result)
2. 乘法与除法
a = 1 + 2j
b = 3 + 4j
# 乘法
product = a * b # (1*3 - 2*4) + (1*4 + 2*3)j → (3-8) + (4+6)j → -5 + 10j
# 除法
quotient = a / b # 结果约等于 0.44 + 0.08j
print("乘法结果:", product)
print("除法结果:", quotient)
3. 共轭复数
z = 3 + 4j
conjugate_z = z.conjugate() # 3 - 4j
print("原复数:", z)
print("共轭复数:", conjugate_z)
复数的数学函数
使用cmath模块处理复数的数学运算:
import cmath
z = 1 + 1j
# 计算复数的模(magnitude)
magnitude = abs(z) # sqrt(1^2 + 1^2) = sqrt(2) ≈ 1.414
# 计算复数的相位角(phase angle),单位为弧度
phase = cmath.phase(z) # π/4 ≈ 0.785
# 转换为极坐标形式
polar = cmath.polar(z) # (magnitude, phase)
# 从极坐标转换回复数
rectangular = cmath.rect(magnitude, phase)
# 计算复数的平方根
sqrt_z = cmath.sqrt(z)
# 计算复数的指数
exp_z = cmath.exp(z)
# 计算复数的自然对数
log_z = cmath.log(z)
print("模:", magnitude)
print("相位角:", phase)
print("极坐标:", polar)
print("从极坐标恢复:", rectangular)
print("平方根:", sqrt_z)
print("指数:", exp_z)
print("自然对数:", log_z)
实际应用场景
1. 信号处理
复数用于表示交流电路中的电压、电流和阻抗:
# 计算串联电路的阻抗
R = 4.0 # 电阻 (欧姆)
C = 1e-6 # 电容 (法拉)
f = 50 # 频率 (赫兹)
# 计算容抗 (Xc = 1/(2πfC))
Xc = 1 / (2 * cmath.pi * f * C)
# 创建复数阻抗 Z = R - jXc
Z = R - 1j * Xc
print(f"阻抗: {Z} 欧姆")
print(f"阻抗模: {abs(Z):.2f} 欧姆")
print(f"相位角: {cmath.phase(Z):.2f} 弧度")
2. 复变函数
计算复平面上的函数值:
# 计算函数 f(z) = z^2 + 1 在复平面上的值
def f(z):
return z**2 + 1
# 在复平面上计算点
z1 = 1 + 1j
result = f(z1)
print(f"f({z1}) = {result}")
3. 几何变换
复数可用于表示二维平面上的旋转:
# 定义旋转角度(90度)
angle = cmath.pi / 2 # 90度,单位为弧度
rotation_factor = cmath.exp(1j * angle)
# 原始点
point = 1 + 2j
# 旋转点
rotated_point = point * rotation_factor
print(f"原始点: {point}")
print(f"旋转90度后: {rotated_point}")
总结
- Python使用
complex类型表示复数,形式为a + bj - 使用
z.real和z.imag访问实部和虚部 - 支持基本的算术运算:加、减、乘、除
cmath模块提供复数的数学函数(模、相位角、平方根等)- 复数在工程计算、信号处理、物理和数学中应用广泛
- 复数提供了一种优雅的方式表示二维空间中的旋转和变换
通过本教程,您应该已经掌握了在Python中使用复数的基础知识和操作技巧。 复数作为数学和工程领域的重要概念,在Python中得到了很好的支持, 掌握它们将为您解决复杂问题提供强大的工具。
本文由DiaoZe于2025-08-18发表在吾爱品聚,如有疑问,请联系我们。
本文链接:http://521pj.cn/20258470.html
发表评论