如何从输出中获取“数组”和双括号?

时间:2021-03-18 20:22:54

标签: python

这是我的完整代码

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] 数组?

1 个答案:

答案 0 :(得分:0)

当您追加列表时,您可以将类型更改为数字而不是 np.array 中的 np.complex128 数字

evolvedstate.append([float(evolvedstatei[0]),float(evolvedstatei[1])])

这是完整的代码:

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([float(evolvedstatei[0]),float(evolvedstatei[1])])
    return evolvedstate

输出: [[2.3999999999999995, -0.399999999999999], [2.3843919847809216, -0.39812623679195314]...

相关问题