gpt4 book ai didi

python - Sympy 允许定义整数符号,但不考虑它们的行为

转载 作者:行者123 更新时间:2023-12-05 00:15:42 29 4
gpt4 key购买 nike

我有以下一组命令来做一个定积分

n [2]: from sympy import *
init_printing()

x,L = symbols('x, L')
n = symbols('n', integer = True)

exp = sin((n+Rational(1,2))*pi*x/L)**2
integrate(exp, (x,0,L))

这些命令的结果如下所示:

enter image description here

第一个结果意味着 n=-1/2 这意味着 n 不是整数。如果在如上所示的操作中不考虑它,则为符号提供整数属性有什么意义?如果 n 是整数,我如何强制 sympy 认识到分段结果的第一部分是不可能的?

最佳答案

如果已经评估了等式,则此条件将被拒绝,并且 Piecewise 将评估为您的预期结果。因为 SymPy 不知道您的 L 是否为零,所以它无法评估该相等性。

所以试试

>>> n = var('n', integer=True)
>>> L = var('L', nonzero=True)
>>> exp = sin((n+Rational(1,2))*pi*x/L)**2
>>> integrate(exp, (x,0,L))
L/2

你去吧! :-)(但是请注意,仅仅说 L 是有限的就应该足以知道等式永远不会为真,但是 SymPy 也无法评估该条件。)

/C

关于python - Sympy 允许定义整数符号,但不考虑它们的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43930883/

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