为什么会收到错误消息:“ Mul”对象没有属性“ exp”?

时间:2019-07-11 19:35:50

标签: python matrix integration exp

我正拼命地尝试能够整合矩阵,这是我的第三或第四种方法。每次尝试解决错误时,都会得到一个新错误并被卡住。这次,我得到了错误:

---------------------------------------------------------------------------
PolynomialError                           Traceback (most recent call last)
<ipython-input-20-445ad8aa95c1> in <module>
     25 var = 0.16
     26 A = (1/var)*transpose@M
---> 27 A.integrate((s,0,1))
PolynomialError: 1.0*(6.25000000000002*_t0 + 0.0359195402298851)/(1.0*_t0 + 0.00574712643678161) is not an element of K[_t0, 1/_t0].

关于此错误,我也查看了其他每篇文章(包括有关余弦的文章),没有任何东西可以解决我的错误。我已经尝试过np.exp,sym.exp等。

import sympy
from scipy.integrate import odeint
%matplotlib inline
import matplotlib.pyplot as plt
import scipy.integrate as integrate
from scipy.linalg import inv
from sympy.matrices import Matrix
from sympy.abc import s
from sympy import symbols, diff, exp, log, power


#M = Matrix([[x, y], [1, 0]])
#M.integrate((x, ))

K = 17.5
r = 0.7
x0 = 0.1

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

M = Matrix([[dxdK, dxdr, dxdx0]])
transpose = M.T
var = 0.16
A = (1/var)*transpose@M
A.integrate((s,0,1))

如前所述,我唯一真正的目标是能够相对于s整合矩阵(1 / var)* tranpose @ M。我目前正在尝试解决上述错误,但也建议完全更改代码以使其能够集成(这就是为什么我提供了这么多代码)的建议。我还有另一篇关于以前的代码的文章,我不得不尝试将其集成,但始终没有一个好的答案。

0 个答案:

没有答案