为什么我的代码不采用数组M的转置?

时间:2019-07-02 05:55:45

标签: python-3.x transpose

我需要对M进行转置,但是每次尝试时,它只会再次返回与M相同的东西。在使用Python时,我有些陌生,所以我看不出问题出在哪里。

我尝试使用不同的代码(例如M.T,M.tranpose等)。我用不同的脚本制作了新的无关的矩阵,以确保M.T能够正常工作,而且它确实可以工作,所以我不明白为什么它在主代码中不起作用。

def integrandtemp(s):
    K = 17.5
    r = 0.7
    x0 = 0.1

    t = 5
    x = K/(1+((K/x0)-1)*np.exp(-r*s))

    dxdK = (x0*x0-x0*x0*np.exp(-r*s))/((x0+K*np.exp(-r*s)-x0*np.exp(-r*s))**2)
    dxdr = (K*K*x0*s*np.exp(-r*s)-K*x0*x0*s*np.exp(-r*s))/((x0+K*np.exp(-r*s)-x0*np.exp(-r*s))**2)
    dxdx0 = (K*x0+K*K*np.exp(-r*s)-K*x0*np.exp(-r*s)-K*x0+K*x0*np.exp(-r*s))/((x0+K*np.exp(-r*s)-x0*np.exp(-r*s))**2)

    M = [dxdK, dxdr, dxdx0]
    M = np.array([M])

    transpose = M.T
    var = 0.16
    return (1/var)*M@transpose

F = integrate.quad(integrandtemp, 0, 10)
print(F)

newF = F[0]
print(newF)

F_inv = inv(newF)

没有错误,但是M和M.T返回相同的东西,它们不应该。当我稍后尝试取F的倒数时,确实出现错误(期望方矩阵)。

0 个答案:

没有答案