这是我的全部代码
L1 = L2 = 40*10**(-9)
C1 = C2 = 50*10**(-15)
Cp = 1000*10**(-15)
Q1_0 = 2.4
Q2_0 = -0.4
N = 1001
t_list = np.linspace(0,5,N)*10**(-9)
def time_evol(L1,L2,C1,C2,Cp,Q1_0,Q2_0,t_list):
b1 = [(1/(C1*L1))+(1/(Cp*L1)),1/(Cp*L1)]
b2 = [1/(Cp*L2),(1/(C2*L2))+(1/(Cp*L2))]
B = [b1,b2]
eigenfreq = np.sqrt(np.linalg.eig(B)[0])
eigenvec = np.transpose(np.linalg.eig(B)[1])
Q_0 = [Q1_0,Q2_0]
a1 = np.dot(eigenvec[0],Q_0)
a2 = np.dot(eigenvec[1],Q_0)
evolvedstate = []
for i in range(N):
evolvedstatei = a1*np.exp(complex(0,1)*eigenfreq[0]*t_list[i])*eigenvec[0] + a2*np.exp(complex(0,1)*eigenfreq[1]*t_list[i])*eigenvec[1]
evolvedstate.append(evolvedstatei)
return evolvedstate
evolved_state = time_evol(L1,L2,C1,C2,Cp,Q1_0,Q2_0,t_list)
print(evolved_state)
输出如下所示: [数组([2.4+0.j,-0.4+0.j])、数组([2.38439198+0.27319073j,-0.39812624-0.03920701j]),等等
我的问题是,为了使输出看起来像普通的[a,b]数组,我必须在代码中修改什么
追加列表时,可以将类型更改为numbers,而不是np.array中的np.complex128 numbers
这是完整的代码:
输出: [2.39999999995,-0.3999999999999],[2.3843919847809216,-0.39812623679195314]
相关问题 更多 >
编程相关推荐