在Matlab中

syms x d
laplace(heaviside(x)-heaviside(x-4))

我明白了
1/s - exp(-4*s)/s

但如果我这样做了
laplace(heaviside(x)-heaviside(x-d))

我明白了
1/s - laplace(heaviside(x - d), x, s)

有没有办法强迫最后一个拉普拉斯去评估?

最佳答案

通常,如果您希望从一般符号表达式中得到答案,则需要应用assumptions使用assume指定参数d为非负(延迟步骤):

syms x d
assume(d>=0);
laplace(heaviside(x)-heaviside(x-d))

退货
ans =

1/s - exp(-d*s)/s

对于d的任意实数值,拉普拉斯变换的结果是一个分段函数(如果assumed为负,则会得到不同的解)看来laplace函数并没有被设计成通过MuPAD的piecewise来处理这些情况(除了返回原始调用)您可能会file a request for enhancement与MathWorks联系,询问是否要添加此功能。

10-06 10:30