生成复数的 Numpy 数组

社会演员多 python 413

原文标题Generating Numpy Arrays of Complex Numbers

如何快速生成一个numpy计算复数数组?我的意思是,虚部是从一组值中计算出来的。

我试过使用python的文字j没有运气。它似乎只接受 float 和 int 情况。cmath拒绝处理数组。以下是我目前的尝试。

import numpy as np
import cmath

E0, k, z, w = np.ones(4)

def Ex(t):
    exp = complex(0,k*z-w*t)
    return E0*np.exp(exp)

t = np.arange(0,10,0.01)
E = Ex(t)

这会产生以下错误:

~\AppData\Local\Temp/ipykernel_8444/3633149291.py in Ex(t)
      7 
      8 def Ex(t):
----> 9     exp = complex(0,k*z-w*t)
     10     return E0*np.exp(exp)
     11 

TypeError: only size-1 arrays can be converted to Python scalars

我也对不使用的解决方案持开放态度cmath但是如果没有以下解决方法,我就没有运气形成复数数组:

times = np.arange(0,10,0.01)
E = [Ex(t) for t in times]

原文链接:https://stackoverflow.com//questions/71686245/generating-numpy-arrays-of-complex-numbers

回复

我来回复
  • yut23的头像
    yut23 评论

    执行此操作的标准方法是exp = 1j*(k*z-w*t)

    2年前 0条评论