复数 z = a + b i z=a+bi z=a+bi 的实部为 a a a,虚部为 b b b。复数的模长 ∣ z ∣ |z| ∣z∣ 定义为 ∣ z ∣ = a 2 + b 2 |z|=\sqrt{a^2+b^2} ∣z∣=a2+b2 ,即复数在复平面上的长度。复数与正实轴之间的夹角 θ \theta θ 称为辐角。
从实部 a a a 和虚部 b b b 转换到模长 ∣ z ∣ |z| ∣z∣ 和辐角 θ \theta θ: ∣ z ∣ = a 2 + b 2 |z|=\sqrt{a^2+b^2} ∣z∣=a2+b2 , θ = arctan ( b a ) \theta=\arctan(\frac{b}{a}) θ=arctan(ab)。
import cmath
# 输入实部和虚部
a = float(input("请输入实部:"))
b = float(input("请输入虚部:"))
# 计算模长和辐角
z = complex(a, b)
r = abs(z)
theta = cmath.phase(z)
# 输出结果
print("复数的模长为:", r)
print("复数的辐角为:", theta)
从模长 ∣ z ∣ |z| ∣z∣ 和辐角 θ \theta θ 转换到实部 a a a 和虚部 b b b: a = ∣ z ∣ cos θ a=|z|\cos\theta a=∣z∣cosθ, b = ∣ z ∣ sin θ b=|z|\sin\theta b=∣z∣sinθ。
import cmath
# 输入模长和辐角
r = float(input("请输入模长:"))
theta = float(input("请输入辐角(以弧度为单位):"))
# 计算实部和虚部
a = r * cmath.cos(theta)
b = r * cmath.sin(theta)
# 输出结果
print("复数的实部为:", a)
print("复数的虚部为:", b)
另外,需要注意的是,辐角 θ \theta θ 在计算时需要根据 a a a 和 b b b 的符号来确定符号,具体规则如下:
若 a > 0 a>0 a>0, b > 0 b>0 b>0 或 a > 0 a>0 a>0, b < 0 b<0 b<0,则 0 ≤ θ < π 2 0\leq\theta<\frac{\pi}{2} 0≤θ<2π 或 − π 2 < θ < 0 -\frac{\pi}{2}<\theta<0 −2π<θ<0。
若 a < 0 a<0 a<0, b > 0 b>0 b>0 或 a < 0 a<0 a<0, b < 0 b<0 b<0,则 π 2 < θ < π \frac{\pi}{2}<\theta<\pi 2π<θ<π 或 − π < θ < − π 2 -\pi<\theta<-\frac{\pi}{2} −π<θ<−2π。