提取NumPy复数数组的实部和虚部,需要使用到NumPy库中的实部函数real()和虚部函数imag()。下面是具体的攻略:
1. 读取复数数组
首先要有一个复数数组,可以通过NumPy库的array()函数创建。例如,我们创建一个2×2的复数数组:
import numpy as np
z = np.array([[1+2j, 3+4j], [5+6j, 7+8j]])
2. 提取实部
提取复数数组的实部,可以使用real()函数。例如,提取z的实部:
real_part = z.real
print(real_part)
输出结果为:
[[1. 3.]
[5. 7.]]
这里实部的数据类型为浮点型。
3. 提取虚部
提取复数数组的虚部,可以使用imag()函数。例如,提取z的虚部:
imag_part = z.imag
print(imag_part)
输出结果为:
[[2. 4.]
[6. 8.]]
这里虚部的数据类型也是浮点型。
4. 完整代码示例
import numpy as np
# 创建一个2×2的复数数组
z = np.array([[1+2j, 3+4j], [5+6j, 7+8j]])
# 提取复数数组的实部
real_part = z.real
print(real_part)
# 提取复数数组的虚部
imag_part = z.imag
print(imag_part)
输出结果为:
[[1. 3.]
[5. 7.]]
[[2. 4.]
[6. 8.]]
5. 示例说明
下面进行两个示例说明:
示例1:对复数数组的实部和虚部进行加法运算
import numpy as np
# 创建两个2×2的复数数组
z1 = np.array([[1+2j, 3+4j], [5+6j, 7+8j]])
z2 = np.array([[10+20j, 30+40j], [50+60j, 70+80j]])
# 提取z1和z2的实部
real_part1 = z1.real
real_part2 = z2.real
# 提取z1和z2的虚部
imag_part1 = z1.imag
imag_part2 = z2.imag
# 实部和虚部加法运算
real_part_sum = real_part1 + real_part2
imag_part_sum = imag_part1 + imag_part2
# 将实部和虚部合并成一个复数数组
z_sum = real_part_sum + 1j*imag_part_sum
print(z_sum)
输出结果为:
[[11.+22.j 33.+44.j]
[55.+66.j 77.+88.j]]
示例2:求复数数组的模长
import numpy as np
# 创建一个3×3的复数数组
z = np.array([[1+1j, 2+3j, 4+5j], [6+7j, 8+9j, 1+2j], [3+4j, 5+6j, 7+8j]])
# 计算复数数组的模长
mod = np.abs(z)
print(mod)
输出结果为:
[[1.41421356 3.60555128 6.40312424]
[9.21954446 11.40175425 2.23606798]
[5. 7.81024968 10.63014581]]
上述示例中,我们利用了NumPy库中的abs()函数求出了复数数组的模长。