【问题标题】:Python : Transforming a complex array to polar formPython:将复杂数组转换为极坐标形式
【发布时间】:2021-03-13 07:28:11
【问题描述】:

我有一个形状为 (300,300) 的 np.array,其复数值为 a+bj。 我想将每个元素转换为极坐标形式 Rexp{jO}

我试过了

cmath.polar(data)

但不适用于数组,所以我尝试类似的方法

complexe = np.zeros((len(data),len(data[0])))
count_arr = 0
for arr in data:
    count_item = 0
    for itm in arr:
        complexe[count_arr][count_item] = cmath.polar(itm)
        count_item = count_item +1
    count_arr = count_arr +1

它不起作用,因为 cmath.polar 的输出是一个元组(我认为)。

我是python初学者,欢迎任何帮助!

【问题讨论】:

  • 首先,要知道您可以使用for count_arr, arr in enumerate(data)for count_item, itm in enumerate(arr) 使计数器自动工作。

标签: python arrays implementation complex-numbers


【解决方案1】:

您可以直接在 numpy 中获取您的 R 和 O:

R = np.abs(z), O = np.angle(z)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多