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

2024-09-30 10:27:51 发布

您现在位置: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]数组,我必须在代码中修改什么


Tags: 代码l1timenp数组cplistc2
1条回答
网友
1楼 · 发布于 2024-09-30 10:27:51

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

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.39999999995,-0.3999999999999],[2.3843919847809216,-0.39812623679195314]

相关问题 更多 >

    热门问题