对于连续函数
f(t),采样后为
f(kT),将其简写为
f(k)
向前差分
- 一阶向前差分:
Δf(k)=f(k+1)−f(k)
- 二阶向前差分:
Δ2f(k)=Δf(k+1)−Δf(k)=f(k+2)−2f(k+1)+f(k)
- n阶向前差分:
Δnf(k)=Δn−1f(k+1)−Δn−1f(k)
向后差分
- 一阶向后差分:
∇f(k)=f(k)−f(k−1)
- 二阶向后差分:
∇2f(k)=∇[Δf(k)]=f(k)−2f(k−1)+f(k−2)
- n阶向后差分:
∇nf(k)=∇n−1f(k)−∇n−1f(k−1)
例子
假设连续系统微分方程为:
andtndny+an−1dtn−1dn−1y+⋯+a1dtdy+a0y=bmdtmdmx+bm−1dtm−1dm−1x+⋯+b1dtdx+b0x
则两边同时除以
a0得:
a0andtndny+a0an−1dtn−1dn−1y+⋯+a0a1dtdy+y=a0bmdtmdmx+a0bm−1dtm−1dm−1x+⋯+a0b1dtdx+a0b0x
即
an′dtndny+an−1′dtn−1dn−1y+⋯+a1′dtdy+y=bm′dtmdmx+bm−1′dtm−1dm−1x+⋯+b1′dtdx+b0′x
where,
ak′=a0ak(k=1…n),bk′=a0bk(k=0…n)
使用向后差分的形式,则等式左边的微分项转为差分项为:
y=y(n)=y(k)dtdy=Ty(n)−y(n−1)=y(k−1)dt2d2y=Ty(n)−y(n−1)−Ty(n−1)−y(n−2)=T2y(n)−2y(n−1)+y(n−2)=y(k−2)⋯dtndny=y(k−n)
同理,等式右边的微分项转为差分项为:
x=x(n)=u(k)dtdx=Tx(n)−x(n−1)=u(k−1)dt2d2x=T2x(n)−2x(n−1)+x(n−2)=u(k−2)⋯dtmdmx=u(k−m)
将上述所得差分项替换原式中的微分项得:
an′y(k−n)+⋯+a1′y(k−1)+y(k)=bm′x(k−m)+⋯+b1′x(k−1)+b0′x(k)+ξ(k)
where,
ak′=a0ak(k=1…n),bk′=a0bk(k=0…n),ξ(k)为由于差分运算导致的误差项
关于微分方程与差分方程的联系与区别可参考博文《微分方程和差分方程的区别与联系》