如何快速生成計算出的復數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]
uj5u.com熱心網友回復:
執行此操作的標準方法是exp = 1j*(k*z-w*t).
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454669.html
上一篇:如何從串列串列中制作作物
下一篇:如何將嵌套陣列串列轉換為陣列
