gpt4 book ai didi

python - 如何从 SymPy 分段对象中提取函数?

转载 作者:行者123 更新时间:2023-12-02 03:08:48 26 4
gpt4 key购买 nike

我正在尝试计算傅立叶积分系数的结果。当我使用 integrate() 并打印结果时,我得到一个带有多个参数的 Piecewise 对象,其中之一就是我正在寻找的答案。但是,我只需要那个参数,找不到从分段函数中减去它的方法。

我读到过,分段对象的每个参数都是一个定义表达式和条件的二元组。我试过使用商品编号,但我得到:

TypeError: 'Piecewise' 对象不可迭代

我也尝试过将结果转换为列表并且它有效,但是我得到了一个包含整个分段函数的项目的列表,所以我遇到了同样的问题。

代码相当简单:

from sympy import *
x = Symbol('x')
w = Symbol('w')

func = exp(-abs(x))
a = integrate(func*cos(w*x), (x, -oo, oo))
print (a)

傅立叶系数的结果是2/(w^2 +1),但是输出是:

分段((2/(w**2 + 1), Eq(2*Abs(arg(w)), 0)), (Integral(exp(-Abs(x))cos(w x), (x, -oo, oo)), 真))

如您所见,我正在寻找的函数就在那里,在第一个参数中,但我找不到一种方法来仅从对象中获取第一个参数并仅获取表达式。我没有使用 Python 的经验,所以我认为我没有尝试过所有可能的解决方案,有什么想法吗?

最佳答案

使用a.args[index]会给出一个对应的元组(expr, cond),a.args[index][0] 给出 expr,[1] 给出 cond

关于python - 如何从 SymPy 分段对象中提取函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58253165/

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