拉普拉斯变换入门
Introduction to the Laplace Transform
定义
对于一个给定的函数
其中,
The Laplace transform is an integral transformation of a function
性质
Linearity
Scaling
公式推导
Time Shift
公式推导
Frequency Shift
公式推导
Time Differentiation
公式推导
分部积分法
推广
Time Integration
公式推导
使用分部积分法,令
于是
Frequency Differentiation
公式推导
Hence,
推广
Time Periodicity
公式推导
对于满足以下性质的函数
被称作周期函数。函数
其中,
于是
利用几何级数公式
可知
Initial and Final Values
公式推导 1
利用 the differentiation property,可知
因为
因为
公式推导 2
于是
拉普拉斯逆变换
The Inverse Laplace Transform
python
import sympy as sp
import IPython.display as display
s = sp.symbols('s', complex=True)
t = sp.symbols('t', real=True)
F = 1 / s
# 输出:
# $\displaystyle \theta\left(t\right)$
f = sp.inverse_laplace_transform(F, s, t)
display(f)Simple Poles
Repeated Poles
Complex Poles
卷积积分
The Convolution Integral
定义
或
如果
- 当
时, - 当
时,
那么
性质
与拉普拉斯变换的关系
假设
Python 示例
python
# Example 15.12
# Page 698
import sympy as sp
# 我们要计算 x_1(t) 和 x_2(t) 的卷积:
# y(t) = ∫ x_1(λ) * x_2(t-λ) dλ, λ 从 0 到 t
t = sp.symbols('t', real=True)
lam = sp.symbols('\\lambda', real=True)
x_1 = 2 * (sp.Heaviside(t) - sp.Heaviside(t-1))
x_2 = (sp.Heaviside(t-1) - sp.Heaviside(t-3))
# 卷积表达式,注意 x_2 用 t-lam
y_conv = sp.integrate(x_1.subs(t, lam) * x_2.subs(t, t - lam), (lam, 0, t))
display(y_conv.simplify())
# 作图验证
import matplotlib.pyplot as plt
import numpy as np
# 将 y_conv 转换为可用于数值计算的函数
conv_func = sp.lambdify(t, y_conv, modules=['numpy'])
ts = np.linspace(0, 5, 301)
ys = conv_func(ts)
plt.figure(figsize=(7,4))
plt.plot(ts, ys, label=r'$y(t)$')
plt.xlabel('$t$')
plt.ylabel('卷积值')
plt.title('x_1(t) 和 x_2(t) 的卷积图像, $t \\in [0,5]$')
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体,避免中文乱码
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号
plt.grid(True)
plt.legend()
plt.show()