gpt4 book ai didi

python - 是什么导致此错误(AttributeError : 'Mul' object has no attribute 'cos' ) in Python?

转载 作者:太空狗 更新时间:2023-10-30 02:03:23 25 4
gpt4 key购买 nike

尝试在 Python 中计算定积分时出现以下错误代码。

AttributeError                            Traceback (most recent call last)
<ipython-input-7-2be8718c68ec> in <module>()
7 x, n = symbols('x n')
8
----> 9 f = (cos(n*x))*(x**2-pi**2)^2
10 integrate(f,(x,-n*pi,n*pi))
11

AttributeError: 'Mul' object has no attribute 'cos'

我已经在下面复制了我的输入代码。感谢您的帮助。

from pylab import *
from sympy import *
from numpy import *

init_printing(use_unicode=False, wrap_line=False, no_global=True)

x, n = symbols('x n')

f = (cos(n*x))*(x**2-pi**2)^2
integrate(f,(x,-n*pi,n*pi))

最佳答案

你的问题是命名空间冲突,在这里

from sympy import *
from numpy import *

因为 numpysympy 都有自己的 cos 定义。该错误告诉您 Mul 对象(即 n*x)没有余弦方法,因为解释器现在混淆了 sympynumpy 方法。改为这样做

import pylab as pl
import numpy as np
import sympy as sp

x, n = sp.symbols('x n')
f = (sp.cos(n*x))*(x**2-sp.pi**2)**2
sp.integrate(f,(x,-n*sp.pi,n*sp.pi))

另请注意,我已将 ^ 更改为 **,因为 ^ 中的 Not 运算符>同情。在这里,我假设您需要来自 sympy.core.numbers.Pi 的符号 Pi 而不是来自 numpy 的数字。如果你想要后者,那就这样做

f = (sp.cos(n*x))*(x**2-np.pi**2)**2
sp.integrate(f,(x,-n*np.pi,n*np.pi))

关于python - 是什么导致此错误(AttributeError : 'Mul' object has no attribute 'cos' ) in Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32640759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com