共找到2條詞條名為差分的結果 展開
- 差分
- 對稱差集
差分
差分
差分在數學、物理和信息學中應用很廣泛。模擬電路中有差分放大電路一說。
差分:difference
差分
在社會經濟活動與自然科學研究中,我們經常遇到與時間t有關的變數,而人們往往又只能觀察或記錄到這些變數在離散的t時的值。對於這類變數,如何去研究它們的相互關係,就離不開差分與差分方程的工具。微積分中的微分與微分方程的工具,事實上來源於差分與差分方程。因此差分與差分方程更是原始的客觀的生動的材料。
讀者熟悉等差數列:a1a2a3……an……,其中an+1=an+d(n=1,2,…n)d為常數,稱為公差,即d=an+1-an,這就是一個差分,通常用D(an)=an+1-an來表示,於是有D(an)=d,這是一個最簡單形式的差分方程。
定義。設變數y依賴於自變數t,當t變到t+1時,因變數y=y(t)的改變數Dy(t)=y(t+1)-y(t)稱為函數y(t)在點t處步長為1的(一階)差分,常記作Dyt=yt+1-yt,簡稱為函數y(t)的(一階)差分,並稱D為差分運算元。
差分具有類似於微分的運算性質。
函數的前向差分通常簡稱為函數的差分。對於函數f(x),如果在等距節點:
則稱Δf(x),函數在每個小區間上的增量y(k+1)-yk為f(x)的一階前向差分。在微積分學中的有限差分(finite differences),前向差分通常是微分在離散的函數中的等效運算。差分方程的解法也與微分方程的解法相似。當是多項式時,前向差分為Delta運算元,一種線性運算元。前向差分會將多項式階數降低1。
對於函數f(xk),一階逆向差分為Δf(xk)=f(xk)−f(xk−1)。
備註:差分方程:difference equations
首先我們來看在“無限演算”中所使用的
Df(x)=Limit[f(x+h)-f(x),h->0]
這是定義微分運算元D的性質。“有限演算”基於由
Δf(x)=f(x+1)-f(x)
定義在差分運算元Δ的性質上。
差分與微分有許多類似的性質(事實上微分可認為是差分的極限),對於冪函數的微分有
D(x^m)=m*x^(m-1)dx
我們尋找一種類似的差分性質:
設:
Mi(x,m)=x(x-1)(x-2)…(x-m+1),整數m>0
Mi(x,m)=x/((x+0)(x+1)(x+2)…(x+m)),整數m≤0
那麼
ΔMi(x,m)=m*Mi(x,m-1).
定義了差分,那麼就有其逆運算元,我們稱之為逆差分:
g(x)=Σf(x)+C
Σ為逆差分運算元,g(x)為f(x)的逆差分,C是在x,x+1,x+2……上為任意常數的函數,我們可以使用逆差分來進行求和運算:
Sum[f(x),{x,m,n-1}](Mathematica語法)
=Sum[g(x+1)-g(x),{x,m,n-1}]
=g(n)-g(m)
註:Sum即Σ逆差分運算元。
這裡我們可以求出一些函數的逆差分:
ΣMi(x,m)=Mi(x,m+1)/(m+1)+C,
Σ1/x=H(x-1)+C,H(x)=1+1/2+1/3+…+1/x,
Σ2^x=2^x+C,
Σ1=x+C
例求:
Sum[x^2,{x,0,n}](Mathematica語法)
=Sum[Mi(x,2)+Mi(x,1),{x,0,n}]
=Sum[Mi(x,2),{x,0,n}]+Sum[Mi(x,1),{x,0,n}]
=(Mi(n+1,3)-Mi(0,3))/3+(Mi(n+1,2)-Mi(0,2))/2
=n(1+n)(1+2n)/6
因為:
Δ(u(x)*v(x))
=u(x+1)*v(x+1)-u(x)*v(x)
=u(x+1)*v(x+1)-u(x+1)*v(x)+u(x+1)*v(x)-u(x)*v(x)
=u(x+1)*Δv(x)+v(x)*Δu(x)
所以:
v(x)*Δu(x)=Δ(u(x)*v(x))-u(x+1)*Δv(x)
所以:
Σv(x)*Δu(x)=u(x)*v(x)-Σu(x+1)*Δv(x)
例求:
Σx*H(x)
=ΣH(x)ΔMi(x,2)/2
=H(x)*Mi(x,2)/2-ΣMi(x+1,2)/2*ΔH(x)
=H(x)*Mi(x,2)/2-ΣMi(x+1,2)/2*1/(x+1)
=H(x)*Mi(x,2)/2-Σx/2
=H(x)*Mi(x,2)/2-Mi(x,2)/4+C
差分方程是微分方程的離散化。一個微分方程不一定可以解出精確的解,把它變成差分方程,就可以求出近似的解來。比如dy+y*dx=0,y(0)=1是一個微分方程,x取值[0,1] (註:解為y(x)=e^(-x))要實現微分方程的離散化,可以把x的區間分割為許多小區間[0,1/n],[1/n,2/n],...[(n-1)/n,1]這樣上述微分方程可以離散化為:y((k+1)/n)-y(k/n)+y(k/n)*(1/n)=0,k=0,1,2,...,n-1(n個離散方程組)利用y(0)=1的條件,以及上面的差分方程,就可以計算出y(k/n)的近似值了。