• 线性差分方程


    线性差分方程介绍

    线性微分方程是连续的,即变量t是连续的,需要求的是未知函数$y(t)$;线性差分方程是离散的,变量t的取值只能为整数,需要求的是未知序列$y_t$。

    差分(difference),即相邻两个数据之间的差,也就是变化量,用$Delta $来表示

    $Delta y_t = y_{t+1} – y_t$

    $Delta y_t$被定义为一阶差分,二阶差分定义如下

    $Delta^2 y_t = Delta(Delta y_t) = Delta y_{t+1} – Delta y_t = (y_{t+2} – y_{t+1}) – (y_{t+1} – y_t) = y_{t+2}-2y_{t+1} + y_t$

    如此类推,n阶差分中包含的项为$y_t,y_{t+1},…,y_{t+n}$,最高与最低项的下标相差$n$。

    线性差分方程类比到线性微分方程的式子,

    $L[y_t] = Delta^n y_t + A_1Delta^{n-1}y_t +cdot cdot cdot+  A_{n-1}Delta y_t + A_ny_t$

    式子当中的$Delta t = 1$,因此省略了。把差分拆开后组合,得到

    $L[y_t] = y_{t+n} + B_1y_{t+n-1}+ cdot cdot cdot + B_{n-1} y_{t+1} + B_n y_t $

    同样的,最高与最低项下标相差$n$。

    二阶线性差分方程求解例子[1]

    下面的例子可以当作二阶线性差分方程求解的范例,从这些例子可以一步步深入了解线性差分方程。

    二阶齐次线性差分方程(2nd-order Homogeneous Linear Difference Equation)

    设有线性方程如下

    $u_n = u_{n-1}+u_{n-2}$

    其中$u_0 = 1,u_1 = 1$,求$u_n$。

    解:

    把u_n相关项移到等号左边:

    $u_n – u_{n-1} –u_{n-2} = 0$

    此时,等式右边为0,表明该方程为齐次(Homogeneous)。

    假设:

    $u_n = Aomega ^n$

    那么:

    $Aomega ^n – Aomega ^{n-1} – Aomega^{n-2} = 0$

    等式两边同时除去$Aomega^{n-2}$:

    $omega^2 - omega - 1 = 0$

    上面是一个一元二次方程,其两个根分别为:

    $omega_1 = frac{1+sqrt{5}}{2} ,   omega_2 = frac{1-sqrt{5}}{2}$

    任意$A_1$代入$u_n = A_1omega_1^n$,都满足$u_n-u_{n-1}-u_{n-2} = 0$。

    任意$A_2$代入$u_n = A-2omega_2^n$,都满足$u_n-u_{n-1}-u_{n-2} = 0$。

    因此我们这里得到一个通解:

    $color{red}{u_n = A_1omega_1^n + A_2 omega_2^n}$

    把这个通解代入到$u_n-u_{n-1}-u_{n-2}$看是否得到0:

    $(A_1omega_1^n + A_2 omega_2^n) – (A_1omega_1^{n-1} + A_2 omega_2^{n-1}) – (A_1omega_1^{n-2} + A_2 omega_2^{n-2}$

    整理后,得到:

    $A_1omega_1^{n-2}(omega_1^2-omega_1-1) + A_2omega_2^{n-2}(omega_2^2 – omega - 1)$

    因为括号内的部分等于0,所以式子等于0。

    把$omega_1,omega_2$的值代入通解,得到:

    $u_2 = A_1left( frac{1+sqrt{5}}{2} ight)^n + A_2left( frac{1-sqrt{5}}{2} ight)^n$

    在忽略初始条件的时候我们得到上述通解,下面我们结合初始条件来求$A_1,A_2$的值…

    $left{egin{matrix}
    u_0 = & A_1 + A_2 & = 1 \
    u_1 = & frac{A_1(1+sqrt{5}) + A_2(1-sqrt{5})}{2} & = 1
    end{matrix} ight.$

    解得:

    $left{egin{matrix}
    A_1 &=& frac{1+sqrt{5}}{2sqrt{5}} \
    A_2 &=& -frac{1-sqrt{5}}{2sqrt{5}}
    end{matrix} ight.$

    把$A_1,A_2$代入通解,得:

    $u_n = frac{1+sqrt{5}}{2sqrt{5}}left( frac{1+sqrt{5}}{2} ight)^n - frac{1-sqrt{5}}{2sqrt{5}}left( frac{1-sqrt{5}}{2} ight)^n$

    整理得到最终结果:

    $u_n = frac{1}{sqrt{5}}left[ left( frac{1+sqrt{5}}{2} ight)^{n+1} - left( frac{1-sqrt{5}}{2} ight)^{n+1} ight]$

    二阶齐次线性差分方程II

    设有线性方程如下

    $u_n = pu_{n+1} + qu_{n-1}$

    初始值为$u_0 = 0, u_l = 1$,并且$p+q = 1$,求$u_n$

    解:

    把所有$u_n$相关项转移到等号左边:

    $pu_{n+1} – u_n + qu_{n-1} = 0$

    假设:

    $u_n = Aomega^n$

    得到:

    $pAomega^{n+1} – Aomega^n + qAomega^{n-1} = 0$

    $pomega^2 – omega + q = 0$

    $pomega^2 – (p+q)omega + q = 0$

    $(omega-1)(pomega -q) = 0$

    解得两个根为:

    $omega_1 = 1 ,   omega_2 = frac{q}{p}$

    得到通解:

    $color{red}{u_n = A_1(1)^n + A_2 left( frac{q}{p} ight)^n}$

    代入$pu_{n+1}-u_n+qu_{n-1}$检查该通解是否等于0:

    $left[pA_1(1)^{n+1}+pA_2left(frac{q}{p} ight )^{n+1} ight ]-left[pA_1(1)^{n}+pA_2left(frac{q}{p} ight )^{n} ight ]+left[pA_1(1)^{n-1}+pA_2left(frac{q}{p} ight )^{n-1} ight ]$

    整理得到:

    $A_1[p-1+q]+A_2left(frac{q}{p} ight )^{n-1}left[pleft(frac{q}{p} ight )^2-frac{q}{p}+q ight ]$

    由于$p +q = 1$,因此上面的式子等于:

    $0 + A_2left(frac{q}{p} ight )^{n-1}left[ frac{q^2}{p} - frac{q}{p} + q ight]
    =A_2left(frac{q}{p} ight )^{n-1}left[ frac{q}{p}(q-1)+q ight ]
    =A_2left(frac{q}{p} ight )^{n-1}left[frac{q}{p}(-p)+q ight ] =0$

    上面已经得到了通解,下面通过初始条件求$A_1,A_2$的值…

    当$q eq p$时:

    $left{egin{matrix}
    u_0 &= &A_1+A_2 &=0 \
    u_l &= &A_1+A_2left(frac{q}{p} ight )^l &=1
    end{matrix} ight.$

    解方程组得到

    $A_1 = –A_2 = frac{-1}{left( frac{q}{p} ight)^l - 1}$

    那么所求的解为

    $u_n = frac{-1}{left( frac{q}{p} ight)^l - 1} + frac{ left( frac{q}{p} ight)^n }{left( frac{q}{p} ight)^l - 1}$

    整理后得到

    $u_n = frac{left( frac{q}{p} ight)^n -1 }{left( frac{q}{p} ight)^l -1}$

    当$p = q$时:

    $omega_2 = frac{q}{p} = 1 = omega_1$

    即得到重根。此时,把根代入初始条件式子,得到

    $left{egin{matrix}
    u_0 &= &A_1+A_2 &=0 \
    u_l &= &A_1+A_2 &=1
    end{matrix} ight.$

    毫无疑问,上面的式子是不成立的,因此在出现重根的时候,表明我们的初始假设$u_n = Aomega^n$是错的,所以需要尝试其它的假设:

    $u_n = (A_1+A_2n)omega^n$

    把该假设的式子代入差分方程得到:

    $egin{align*}
    0
    &=pu_{n+1}-u_n+qu_{n-1} \
    &=p(A_1+A_2(n+1))omega^{n+1} + (A_1+A_2n)omega^n + q(A_1+A_2(n-1))omega^{n-1}\
    &=p(A_1+A_2(n+1))omega^2 + (A_1+A_2n)omega + q(A_1+A_2(n-1))\
    &=p(A_1+A_2n+A_2)omega^2 + (A_1+A_2n)omega + q(A_1+A_2n-A_2)\
    &=A_1(pomega^2-omega+q) + A_2n(pomega^2-omega+q) + A_2(pomega^2-q)
    end{align*}$

    可以发现原来的重根$omega = 1$可以使得上面等式成立,因此$omega=1$就是新假设的根。因此通解为

    $color{red}{u_n = (A_1+A_2n)(1)^n}$

    现通过初始条件求$A_1$、$A_2$

    $left{egin{matrix}
    u_0 &= &A_1+A_2 imes 0 &=0 \
    u_l &= &A_1+A_2 imes l &=1
    end{matrix} ight.$

    解得:

    $left{egin{matrix}
    A_1 =0 \
    A_2 = frac{1}{l} 
    end{matrix} ight.$

    代入通解得到

    $u_n = frac{n}{l}$

    二阶非齐次线性差分方程(2nd-order Inhomogeneous Linear Difference Equation)

    设有线性方程如下:

    $v_n = 1+pv_{n+1}+qv_{n-1}$

    其中$v_0 = v_l = 0$,$p+q = 1$

    解:

    把所有$v$相关项移到等号左边,其余项移到等号右边:

    $pv_{n+1} – v_n + qv_{n-1} = -1$

    如果等号右边为0,那么该方程就是齐次的(Homogeneous),如我们前面两小节求解的方程,否则该方程就是非齐次的(Inhomogeneous),如我们这一小节求解的方程。

    在求解非齐次方程的时候,首先我们假设该方程是齐次的,那么就能得到:

    $color{red}{v_n = A_1(1)^n + A_2left(frac{q}{p} ight)^n} qquad provided quad p eq q$

    不过由于该方程实际上是非齐次的,所以我们应该加上一个附加项:

    $v_n = color{red}{A_1(1)^n + A_2left(frac{q}{p} ight)^n} + color{blue}{f(n)}$

    上述的$v_n$理应使得$pv_{n+1} – v_{n} + qv_{n-1} = -1$成立。

    那么把上述$v_n$代入原方程,得到:

    $egin{align*}
    pv_{n+1}-v_n+qv_{n-1}
    &=pleft{A_1(1)^{n+1}+A_2left(frac{q}{p} ight )^{n+1}+f(n+1) ight } \
    &- left{A_1(1)^{n}+A_2left(frac{q}{p} ight )^n+f(n) ight }\
    &+qleft{A_1(1)^{n-1}+A_2left(frac{q}{p} ight )^{n-1}+f(n-1) ight } \
    &=pu_{n+1} - u_n + qu_{n-1} + pf(n+1) - f(n) + qf(n-1)\
    &= pf(n+1) - f(n) + qf(n-1)\
    &=-1
    end{align*}$

    剩下的只有等式左边的$f(n)$相关项以及等式右边的多项式。$f(n)$展开的一般形式为

    $displaystyle{ sum_{k=0}^{m}B_kn^k  = B_{0} + B_1n+B_2n^2+cdotcdotcdot+B_mn^m}$

    实际上$f(n)$需要根据等式右边的多项式进行选择,如:等式右边的多项式最高次项为$n^2$,那么则可以假设$f(n) = a+bn+cn^2$。而本例子中,等式右边为常数-1,那么我们可以假设:

    $color{blue}{f(n) = a}$

    即有

    $pf(n+1) – f(n) + qf(n-1) = pa -a+qa = -1$

    因此

    $a = frac{-1}{p-1+q}$

    由于有初始条件$p+q = 1$,因此$a = frac{-1}{p-1+q}$不存在,这就表明$f(n) = a$假设不成立。接下来可以假设:

    $color{blue}{f(n ) = a + bn}$

    $egin{align*}
    &  quad pf(n+1)-f(n)+qf(n-1) \
    &=p(a+b(n+1))-(a+bn)+q(a+b(n-1)) \
    &=a(p-1+q)+bn(p-1+q)+b(p-q)\
    &=b(p-q)\
    &=-1
    end{align*}$

    表明$a$可以取任意值,我们取$a = 0$;$b = frac{-1}{p-q}$,这需要$p eq q$。

    如果$p = q$,则上面的假设不成立,那么需要进一步假设:

    $color{blue}{f(n) = a + bn + cn^2}$

    $egin{align*}
    & quad pf(n+1)-f(n)+qf(n-1)\
    &=p(a+b(n+1)+c(n+1)^2)-(a+bn+cn^2)+q(a+b(n-1)+c(n-1)^2) \
    &=a(p-1+q)+bn(p-1+q)+b(p-q) + cn^2(p-1+q)+cn(2-2)+c(p+q)\
    &=0+0+0+0+0+c(p+q)\
    &=c \
    &=-1
    end{align*}$

    表明$a,b$可以取任意值,我们取$a = 0,b=0$;$c = -1$,这是当$p=q$的情况。

    综合上述结果:

    $left{egin{matrix}
    v_n &= &color{red}{A_1+A_2left(frac{q}{p} ight )^n} - color{blue}{frac{n}{p-q}} &,&p eq q \
    v_n &= &color{red}{A_1+A_2}-color{blue}{n^2} &,&p=q
    end{matrix} ight.$

    最后就是根据初始条件求出$A_1,A_2$了(略)。

    二阶线性差分方程的表达及其求解方法

    本节的目的在于通过上述例子总结出二阶线性差分方程求解的步骤,看完上面的例子就能理解各个步骤的意义了。

    一般的二阶线性差分方程的表达式

    二阶线性差分方程的一般表达式如下:

    $ay_{t+2} + by_{t+1} + cy_t = x(t) qquad tin N^+$

    一般来说,等式右边多为常数。

    $ay_{t+2} + by_{t+1} + cy_t = d$

    当$d=0$时,当前方程为齐次(homogeneous),否则为非齐次(inhomogeneous)。

    线性差分方程的解的结构

    线性差分方程的解分为两个部分:

    $y(t) = y_h(t) + y_p(t)$

    其中 $y_h(t)$为通解(general solution),又称为齐次解(homogeneous solution);$y_p(t)$称为特解(particular solution)。

    二阶线性差分方程的求解过程

    二阶齐次线性差分方程

    求解齐次线性差分方程得到的解被称为通解,又称为齐次解

    1. 假设

      $y_t = Aomega^t$

    2. 把该假设代入原差分方程,整理后得到一元二次方程:

      $aomega^2+bomega+c = 0$

    3. 解一元二次方程得到两个根:

      $omega_{1,2} = frac{-bpmsqrt{b^2-4ac}}{2a}$

    4. 如果两个根不相等,则

      $y_t = A_1omega_1^t + A_2omega_2^t$

    5. 如果两个根相等(重根),则

      $y_t = (A_1+A_2n)omega^t$

    6. 通过初始条件求出$A_1,A_2$。

    二阶非齐次线性差分方程

    非齐次线性差分方程的解分为通解以及特解两部分。

    1. 令等式右边等于0,得到二阶齐次线性差分方程:

      $ay_{t+2} + by_{t+1} + cy_t = 0$

      求解该齐次方程,得到通解$y_h(t)$。

    2. 观察方程等式右边的式子,进行相应特解假设,我们这里的等式右边为常数$b$,因此假设特解为:

      $y_p(t) = D$

      如果等式右边为$t^k$,我们按理应该假设

      $y_p(t) = D_0t^k + D_1t^{k-1}+cdotcdotcdot+D_k$

    3. 如果上述假设不成立,则需要在重新对特解进行假设,假设时增加一个阶:

      $y_p(t) = D Rightarrow y_p(t) = D_0t+D_1$

    4. 重复上一步骤直到得到正确的特解。

    5. 通解与特解相加得到$y_t$:

      $y(t) = y_h(t) + y_p(t)$

    6. 通过初始条件求出$A_1,A_2$。

    上面讨论的是非重根以及重根的情况,实际上$omega = frac{-bpmsqrt{b^2-4ac}}{2a}$可能会由于$b^2-4ac<0$而得到共轭复数的情况,二阶线性差分方程中的根/特征值的讨论中有较为详细的描述。

    N阶线性差分方程的表达与解[2]

    表达式

    N阶线性差分方程表示呈如下形式:

    $A_0y_t+A_1y_{t-1}+cdotcdotcdot+A_{N-1}y_{t-N+1}+A_Ny_{t-N} = B_0x_t+B_1x_{t-1}+cdotcdotcdot+B_{M-1}x_{t-M+1}+B_{M}x_{t-M}$

    或写成:

    $displaystyle{ sum_{k=0}^{N}A_ky_{t-k} = sum_{r=0}^{M}B_rx_{t-r} }$

    齐次解

    等式左边用于求齐次解(通解),在求齐次解的时候我们会假设$y_t = Comega^t$,然后代入原方程求根$omega$。

    如果求得有N个不同的$omega$,即$omega$非重根时

    $y_t = C_1omega_1^t + C_2omega_2+cdotcdotcdot+C_Nomega_N^t = displaystyle{sum_{k=1}^NC_komega_k^t}$

    如果求得的根中有K个相同的根$omega_1$,即K次重根时

    $egin{align*}y_t &= (D_1t^{K-1}+D_2t^{K-2}+cdotcdotcdot+D_{K-1}t+D_K)omega_1^t+C_2omega_2^t+C_3omega_3^t+cdotcdotcdot+C_{N-K+1}omega_{N-K+1}^t \ &= sum_{m=1}^{K}D_mt^{K-m}omega_1^t+sum_{n=2}^{N-K+1}C_nomega_n^t end{align*}$

    如果求得的根中存在共轭根$omega_{1,2}=hpm iv = Re^{pm j heta}$,那么$y_t$的会存在虚数部分,虚数部分为:

    $C_1(h+iv)^t+C_2(h-iv)^t = C_1R^tcos(t heta)+iC_2R^tsin(t heta)$

    如果有K个重复的共轭根,那么虚数部分如下:

    $(P_1t^{K-1}+P_2t^{K-2}+cdotcdotcdot+P_{K-1}t+P_{K})R^tcos(t heta)+i(Q_1t^{K-1}+Q_2t^{K-2}+cdotcdotcdot+Q_{K-1}t+Q_{K})R^nsin(t heta)$

    特解

    等式右边的项用于求特解。$x(t)$在离散时间信号系统中被称为激励(excitation),一般为已知式子,把激励代入等式右边即得到自由项,不过似乎我们常见的右边的项都是比较简单的。自由项存在多种形式,不同的形式对应不同特解。

    1. 自由项为$t^k$的多项式

      如果$omega eq 1$,特解为:

      $y_p(t) = D_0t^k+D_1n^{k-1}+cdotcdotcdot+D_k$

      如果有K个$omega = 1$的重根

      $y_p(t) = t^K(D_0t^k+D_1n^{k-1}+cdotcdotcdot+D_k)$

    2. 自由项为$a^n$

      如果$a eq omega$,

      $y_p(t) = Da^t$

      如果有K个重根$omega_1$,且$a = omega_1$

      $y_p(t) = (D_0t^K+D_1n^{K-1}+cdotcdotcdot+D_K)a^t$

    3. 自由项为$sint heta$或者$cost heta$

      $y_p(t) = D_1sint heta+D_2cost heta$

    4. 自由项为$alpha^t(A_1sint heta+A_2cost heta)$

      如果$omega eq alpha e^{pm i heta}$

      $y_p(t) = alpha^t(D_1sint heta+D_2cost heta)$

      如果$omega = alpha e^{pm i heta}$

      $y_p(t) = t^Kalpha^t(D_1sint heta+D_2cost heta)$

    ※这一小节关于特解部分可能会有些错误,不过由于这并不是我们要讨论的重点,所以不去求证了…

    参考文献:

    [1] CAM.AC.UK : Difference Equations

    [2] CCNU:常系数线性差分方程的求解

  • 相关阅读:
    27. Remove Element
    26. Remove Duplicates from Sorted Array
    643. Maximum Average Subarray I
    674. Longest Continuous Increasing Subsequence
    1. Two Sum
    217. Contains Duplicate
    448. Find All Numbers Disappeared in an Array
    566. Reshape the Matrix
    628. Maximum Product of Three Numbers
    UVa 1349 Optimal Bus Route Design (最佳完美匹配)
  • 原文地址:https://www.cnblogs.com/TaigaCon/p/6878674.html
Copyright © 2020-2023  润新知