python - 是否可以强制 SymPy 计算积分,或者告诉我为什么它不能计算积分?
问题描述
我正在尝试计算分段函数的积分,特别是拉普拉斯变换。
w_k = k*t, 0 <= t <= 1/k
1, otherwise
因此,我尝试将其集成如下:
from sympy import *
t, k = symbols('t k', positive=True)
w_k = Piecewise((k*t, (0 <= t)&(t <= 1/k)), (1, True))
integrate(w_k * exp(-s*t), (t, 0, oo)).doit()
Out:
∞
⌠
⎮ ⎧ -s⋅t 1
⎮ ⎪k⋅t⋅ℯ for t ≤ ─
⎮ ⎪ k
⎮ ⎨ dt
⎮ ⎪ -s⋅t
⎮ ⎪ ℯ otherwise
⎮ ⎩
⌡
0
使用laplace_transform
给了我同样的结果。
我知道有时需要满足某些条件才能使 SymPy 集成该函数,但我真的不确定除了正变量之外还需要什么这个函数。有什么方法可以强制 SymPy 计算积分,或者解释为什么它不可能?
解决方案
尝试这个:
import math
from sympy import *
s = Symbol('s', positive=True)
t = Symbol('t', positive=True)
k = Symbol('k', positive=True)
function = Piecewise((k*t, (0 <= t)&(t <= 1/k)), (1, True))
result = integrate(function * exp(-s*t), (t, 0, math.inf))
输出:
k/s**2 + exp(-s/k)/s + (-k - s)*exp(-s/k)/s**2
推荐阅读
- vue.js - 单击输入时如何防止在Materialize css中打开选择器
- scala - 显式编写联接查询时光滑不联接
- c# - c#中是否有一个函数可以一次分配两个变量但不同的值?
- java - 禁用HPP卡存储卡的编辑和删除
- javascript - 如何从柏树的下拉菜单中选择项目?
- storybook - next-i18next 翻译在故事书中不起作用,控制台日志丢失键
- string - C#将字符串拆分成可读的句子
- p2p - Peerjs 缩放克隆
- django - 在 Django 中返回当月的每日销售额
- asp.net - 用于连接 Office 365 Outlook 的 Asp.net Web 表单