使用Python将复杂值分配给Int数组

时间:2018-08-17 14:43:15

标签: python arrays complex-numbers

每个人。我想创建一个大小为1x1000的随机数组,它将包含0 to 3中的随机整数。然后,我想在二维笛卡尔平面的不同位置分配这些数字。我使用实轴和虚轴作为x和y轴。当我尝试将其分配给1j-1j时,出现错误消息:

  

TypeError(“无法将复数转换为浮点数”)

你能帮我吗?

import numpy as np
from math import *

M = 4
N = 1000

firstsymbols = np.random.randint(M, size=N)
symbols = np.zeros(N)

for i in range(1,N):
    if (firstsymbols[i] == 0):
       symbols[i] = 1
    elif (firstsymbols[i] == 1):
       symbols[i] = 1j
    elif (firstsymbols[i] == 2):
       symbols[i] = -1
    else:
       symbols[i] = -1j

print(symbols)

1 个答案:

答案 0 :(得分:1)

您可以使用numpy创建一个broadcasting复数数组,

1j * np.arange(10)

或者您可以保留2D数组,其中第一列是实部,第二列是虚部。