gpt4 book ai didi

python - sympy 中的积分不适用于 x*cos(n*pi*x/L),但适用于 sqrt(1.)*x*cos(n*pi*x/L)。请参阅下面的代码片段

转载 作者:行者123 更新时间:2023-12-01 05:24:02 29 4
gpt4 key购买 nike

代码片段1:

from sympy import symbols, integrate, cos, pi
from numpy import sqrt
n = symbols('n', integer=True)
x, L = symbols('x L', real=True)
fs_coeff = integrate(sqrt(1.)*x*cos(n*pi*x/L), (x, 0, L))
print fs_coeff

我得到:

-1.0*分段((0, n == 0), (0.101321183642338*L*2/n*2, True)) + 1.0*分段((L**2/2 , n == 0), (0.318309886183791*L**2*sin(3.14159265358979*n)/n + 0.101321183642338*L**2*cos(3.14159265358979*n)/n**2, True))

代码片段2:

from sympy import symbols, integrate, cos, pi
from numpy import sqrt
n = symbols('n', integer=True)
x, L = symbols('x L', real=True)
fs_coeff = integrate(x*cos(n*pi*x/L), (x, 0, L))
print fs_coeff

我收到一个错误:

回溯(最近一次调用最后一次):

文件“test-sympy.py”,第 6 行,位于

fs_coeff = 积分(x*cos(n*pi*x/L), (x, 0, L))

...

ValueError:太多值无法解压

我正在使用最新的 Enthought Canopy python 发行版,v. 1.3。 Python 版本 2.7.6,SymPy 0.7.3。

如果您对此有任何见解,我将不胜感激。

最佳答案

SymPy 0.7.3 不是最新版本。在0.7.4.1中尝试一下。这是一个已修复的错误。

>>> fs_coeff = integrate(x*cos(n*pi*x/L), (x, 0, L))
>>> fs_coeff
Piecewise((L**2/2, n == 0), ((-1)**n*L**2/(pi**2*n**2) - L**2/(pi**2*n**2), True))

关于python - sympy 中的积分不适用于 x*cos(n*pi*x/L),但适用于 sqrt(1.)*x*cos(n*pi*x/L)。请参阅下面的代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21744623/

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