复数的实部虚部与幅值相角之间的转换及python代码实现

一、复数定义

复数 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=zcosθ b = ∣ z ∣ sin ⁡ θ b=|z|\sin\theta b=zsinθ

代码

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π

你可能感兴趣的:(python)