**递推关系**（英語：），在數學上也就是**差分方程**（Difference equation），是一種递推地定義一個序列的方程式：序列的每一項目是定義為前若干項的函數。

像斐波那契数即為递推关系

{\displaystyle x\_{n+2}=x\_{n+1}+x\_{n}}
某些簡單定義的遞迴關係式可能會表現出非常複雜的（混沌的）性質，他們屬於數學中的非線性分析領域。

所謂解一個遞迴關係式，也就是求其解析解，即關於*n*的非遞迴函數。

遞迴關係式的例子
--------

### 等差數列

{\displaystyle x\_{0}=1,x\_{n+1}=x\_{n}+2}為等差數列{\displaystyle 1,3,5,7,.....}
一般地，{\displaystyle x\_{0}=a,\ x\_{n+1}=x\_{n}+d}為等差數列，其中{\displaystyle a}為首項，{\displaystyle d}為公差。
### 等比數列

{\displaystyle x\_{0}=1,x\_{n+1}=2x\_{n}}為等比數列{\displaystyle 1,2,4,8,.....}
一般地，{\displaystyle a\neq 0}且{\displaystyle r\neq 0}，{\displaystyle x\_{0}=a,\ x\_{n+1}=rx\_{n}}為等比數列，其中{\displaystyle a}為首項，{\displaystyle r}為公比。
### 階乘

{\displaystyle 0!=1}
{\displaystyle n!=n\times (n-1)!}
因此最小的幾個階乘為{\displaystyle 1,1,2,6,24,120,720,5040,.....}、
### 倒数和

設{\displaystyle x\_{k}=x^{k}+x^{-k}}，則
{\displaystyle x\_{1}=x\_{1}}
{\displaystyle x\_{2}=(x\_{1})^{2}-2}
{\displaystyle x\_{3}=x\_{1}\cdot x\_{2}-x\_{1}}
{\displaystyle x\_{4}=(x\_{2})^{2}-2}
{\displaystyle x\_{5}=x\_{2}\cdot x\_{3}-x\_{1}}
{\displaystyle x\_{6}=(x\_{3})^{2}-2}
{\displaystyle x\_{7}=x\_{3}\cdot x\_{4}-x\_{1}}
{\displaystyle \cdots \cdots }
{\displaystyle x\_{2k}=(x\_{k})^{2}-2}
{\displaystyle x\_{2k+1}=x\_{k}\cdot x\_{k+1}-x\_{1}}

常係數線性齊次遞迴關係式
------------

*線性*字眼的意思是序列的每一項目是被定義為前一項的一種線性函數。係數和常數可能視n而定，甚至是非線性地。

一種特別的情況是當係數並不依照n而定。

齊次意思為关系的常數項為零。

為了要得到線性遞迴唯一的解，必須有一些起始條件，就是序列的第一個數字無法依照該序列的其他數字而定時，且必須設定為某些數值。

解線性遞迴關係式
--------

線性遞迴關係式的解通常是由系統的方法中找出來，通常藉由使用生成函數（形式冪級數）或藉由觀察*r**n*是一種對*r*的特定數值之解的事實。且因關係式為線性方程，另一種方法是以矩陣表示此一遞迴關係式，並透過矩陣對角化等技巧求出關係式的通項。

二階遞迴關係式的形式：

{\displaystyle a\_{n}=Aa\_{n-1}+Ba\_{n-2}\,}
我們擁有解為*r**n*：

{\displaystyle r^{n}=Ar^{n-1}+Br^{n-2}\,}
兩邊除以{\displaystyle r^{n-2}}我們可以得到：

{\displaystyle r^{2}=Ar+B\,}
{\displaystyle r^{2}-Ar-B=0\,}
這就是遞迴關係式的*特徵方程*。解出*r*可獲得兩個根（roots）{\displaystyle \lambda \_{1},\lambda \_{2}}，且如果兩個根是不同的，我們可得到解為

{\displaystyle a\_{n}=C\lambda \_{1}^{n}+D\lambda \_{2}^{n}\,}
而如果兩個根是相同的（當*A*2+4*B*=0），我們得到

{\displaystyle a\_{n}=C\lambda ^{n}+Dn\lambda ^{n}\,}
*C*和*D*都是常數。以上結果皆可由直接代入得證，或以矩陣對角化的技巧推導出。

換句話說，將這種{\displaystyle a\_{n}=Aa\_{n-1}+Ba\_{n-2}}形式的方程式，用2代入n後，就得到上述的{\displaystyle r^{2}=Ar+B}。常數"C"和"D"可以從"邊界條件（side conditions）"中得到，通常會像是「已知{\displaystyle a\_{0}=c\_{1}}, {\displaystyle a\_{1}=c\_{2}}」。

範例：斐波那契数（Fibonacci Number）
--------------------------

斐波那契数是使用一種線性遞迴關係式來定義：

{\displaystyle F\_{0}=0\,}
{\displaystyle F\_{1}=1\,}
{\displaystyle F\_{n}=F\_{n-1}+F\_{n-2}\,}
設若：{\displaystyle F\_{n}/F\_{n-1}\,}當n趨於無限大之極限值存在，則其值為{\displaystyle 1+{\sqrt {5}} \over 2\,} {\displaystyle =\Phi }恰為黃金分割值，1.618....，另一值則為0.618....，兩值互為倒數，也就是說1.618....分之1=0.618....，反之亦然。

{\displaystyle F\_{n}={\Phi ^{n} \over {\sqrt {5}}}-{(1-\Phi )^{n} \over {\sqrt {5}}}}
起始條件為：

{\displaystyle F\_{0}=0\,}
{\displaystyle F\_{1}=1\,}
因此，斐波那契数的序列為：

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ...

常系数非齐次线性递推关系
------------

对于常系数非齐次线性递推关系，我们可以用待定系数法（英语：）来求出它的一个特解，而它的通解就是这个特解与对应的齐次递推关系的通解的和。也可以使用迭代法求解，但只能得到确切的数值解，不能直接以解析式作答，该方法可利用计算机求解。

### 时域经典法求解

一般情况下，常系数线性差分方程可以写作：

{\displaystyle \sum \_{k=0}^{N}a\_{k}y(n-k)=\sum \_{r=0}^{M}b\_{r}x(n-r)}
则对应的齐次方程形式为：

{\displaystyle \sum \_{k=0}^{N}a\_{k}y(n-k)=0}
则特征方程为：

{\displaystyle \sum \_{k=0}^{N}a\_{k}\alpha ^{N-k}=0}
当特征根非重根时，齐次解为：

{\displaystyle y\_{h}(n)=\sum \_{i=1}^{N}C\_{i}\alpha \_{i}^{n}}
当特征根为重根时，若{\displaystyle \alpha \_{1}}为特征方程的{\displaystyle K}重根，齐次解为：

{\displaystyle y\_{h}(n)=\sum \_{i=1}^{K}n^{K-i}\alpha \_{1}^{n}}
特解{\displaystyle y\_{p}(n)=D(n)}的形式由激励函数{\displaystyle x(n)}的形式决定。

一般情况，当激励函数x(n)代入方程。

方程右方出现{\displaystyle n^{k}}的形式，则特解选择

{\displaystyle y\_{p}(n)=A\_{0}n^{k}+A\_{1}n^{k-1}+\cdots +A\_{k}}
当方程右方出现{\displaystyle a^{n}}的形式，则特解选择

当a不是特征根时

{\displaystyle y\_{p}(n)=Aa^{n}}
当a是特征根时

{\displaystyle y\_{p}(n)=(A\_{1}n+A\_{0})a^{n}}
当a为r重根时

{\displaystyle y\_{p}(n)=(A\_{r}n^{r}+A\_{r-1}n^{r-1}+\cdots +A\_{1}n+A\_{0})a^{n}}
将特解带入原方程，求出待定系数。根据边界条件，可求出齐次节待定系数。

### 例子

我们用待定系数法来解以下的常系数非齐次线性递推关系：

{\displaystyle a\_{n+1}=2a\_{n}+3^{n}+5n\,}
对应的齐次递推关系

{\displaystyle b\_{n+1}=2b\_{n}\,}
的齐次解是：

{\displaystyle b\_{n}=c\_{1}2^{n}\,}
我们猜测特解的形式为：

{\displaystyle a\_{n}=c\_{2}3^{n}+c\_{3}n+c\_{4}\,}
代入原递推关系中，我们便得到：

{\displaystyle c\_{2}3^{n+1}+c\_{3}(n+1)+c\_{4}=2(c\_{2}3^{n}+c\_{3}n+c\_{4})+3^{n}+5n\,}
比较等式两端的{\displaystyle 3^{n}}项的系数，可得：

{\displaystyle 3c\_{2}=2c\_{2}+1\,}
{\displaystyle c\_{2}=1\,}
比较等式两端的{\displaystyle n}项的系数，可得：

{\displaystyle c\_{3}=2c\_{3}+5\,}
{\displaystyle c\_{3}=-5\,}
比较等式两端的常数项，可得：

{\displaystyle c\_{3}+c\_{4}=2c\_{4}\,}
{\displaystyle c\_{4}=c\_{3}=-5\,}
因此原递推关系的通解为：

{\displaystyle a\_{n}=c\_{1}2^{n}+3^{n}-5n-5\,}

與微分方程的關係
--------

数值求解常微分方程时，经常会遇到递归关系。例如，求解如下初值问题时

{\displaystyle y'(t)=f(t,y(t)),\qquad y(t\_{0})=y\_{0},\qquad \qquad }
如采用欧拉法和步长*h*，可以通过如下递归关系计算{\displaystyle y\_{0}=y(t\_{0})}, {\displaystyle y\_{1}=y(t\_{0}+h),} {\displaystyle y\_{2}=y(t\_{0}+2h),...}

{\displaystyle y\_{n+1}=y\_{n}+hf(t\_{n},y\_{n})}
线性一阶微分方程组可以用离散化条目中介绍的方法解析地精确离散化。

參考
--

* 递归
* 差分
* 主定理——分析算法複雜度的方法，從遞歸式得出通項的大小估計
* 圆点段证明（Circle points segments proof）
* 母函数——形式冪級數，其系數隱含某數列的資訊

外部連結
----

* Difference and Functional Equations: Exact Solutions （页面存档备份，存于） at EqWorld - The World of Mathematical Equations.
* Difference and Functional Equations: Methods （页面存档备份，存于） at EqWorld - The World of Mathematical Equations.

|  |  |  |
| --- | --- | --- |
| 

|  |  |
| --- | --- |
| 规范控制 編輯維基數據鏈接 | 
* GND: 4012264-5
* J9U: 987007553021405171
* LCCN: sh85037879
* NKC: ph119449

 |

 |