Ilorazy różnicowe

by Jerry Sky

2020-11-10



1. Ilorazy różnicowe

Z Twierdzenie#1 wiemy, że dla różnych węzłów x0,x1,…,xnx_0, x_1, \dots, x_n istnieje dokładnie jeden wielomian p∈Πnp \in \Pi_n interpolujący ff taki, że p(xi)=f(xi)(0≤i≤n). p(x_i) = f(x_i) \quad (0 \le i \le n).

Wielomian pp można przedstawić jako kombinację liniową wielomianów 1,x,x2,…,xn1,x,x^2, \dots, x^n (baza Πn\Pi_n). Jednak takie przedstawienie nie jest zalecane, ponieważ prowadzi do układu z macierzą Vandermonde’a (zadanie źle uwarnukowane).
Przedstawmy pp w innej bazie Πn\Pi_n: q0(x)=1q1(x)=(x−x0)q2(x)=(x−x0)(x−x1)⋯qn(x)=(x−x0)(x−x1)⋯(x−xn−1) \begin{aligned} q_0(x) &= 1\\ q_1(x) &= (x-x_0)\\ q_2(x) &= (x-x_0)(x-x_1)\\ \dotsb\\ q_n(x) &= (x-x_0) (x - x_1) \dotsb (x - x_{n-1}) \end{aligned}

Czyli mamy p(x)=∑j=0ncjqj(x). p(x) = \sum_{j=0}^n c_j q_j(x).

Z faktu, że pp spełnia warunki interpolacji, otrzymujemy układ równań, z którego wyznaczamy c0,c1,…,cnc_0, c_1, \dots, c_n: ∑j=0ncjqj(xi)=f(xi)(0≤i≤n) \sum_{j=0}^n c_j q_j (x_i) = f(x_i) \qquad (0 \le i \le n)


Rozwiązując układ z góry w dół wyznaczamy c0,c1,…,cnc_0, c_1, \dots, c_n. Możemy zauważyć, że

Wprowadzimy notację cn=f[x0,x1,…,xn]c_n = f[x_0, x_1, \dots, x_n].
f[x0,x1,…,xn]f[x_0,x_1,\dots,x_n] jest współczynnikiem przy qnq_n.

Jako, że qn(x)=(x−x0)(x−x1)⋯(x−xn−1)=xn+⋯ q_n(x) = (x - x_0) (x - x_1) \dotsb (x - x_{n-1}) = x^n + \dotsb więc f[x0,x1,…,xn]f[x_0, x_1, \dots, x_n] jest współczynnikiem przy xnx^n wielomianu stopnia co najwyżej nn interpolującego ff w węzłach x0,x1,…,xnx_0, x_1, \dots, x_n. Wielkość f[x0,x1,…,xn]f[x_0, x_1, \dots, x_n] będziemy nazywali ilorazem różnicowym opartym na węzłach x0,x1,…,xnx_0, x_1, \dots, x_n.

Na przykład f[x0]f[x_0] jest współczynnikiem przy x0x^0 wielomianu stopnia 00 interpolującego ff w x0x_0. f[x0]=f(x0). f[x_0] = f(x_0).

f[x0,x1]f[x_0, x_1] jest współczynnikiem przy xx wielomianu stopnia ≤1\le 1 interpolującego ff w x0,x1x_0, x_1. p(x)=f(x0)+f(x1)−f(x0)x1−x0(x−x0)=f(x0)+f[x0,x1](x−x0). p(x) = f(x_0) + \frac{f(x_1) - f(x_0)}{x_1 - x_0} (x - x_0) = f(x_0) + f[x_0, x_1](x - x_0).

2. Postać Newtona wzoru interpolacyjnego

Ogólnie cic_i wyznaczamy z wcześniejszego układu równań c0=f[x0],c1=f[x0,x1]c_0 = f[x_0], c_1 = f[x_0, x_1] aż do cn=f[x0,x1,…,xn]c_n = f[x_0, x_1, \dots, x_n].
Otrzymujemy postać Newtona wzoru interpolacyjnego p(x)=∑k=0nckqk(x)=∑k=0nf[x0,x1,…,xk]∏j=0k−1(x−xj). p(x) = \sum_{k=0}^n c_k q_k (x) = \sum_{k=0}^n f[x_0, x_1,\dots, x_k] \prod_{j=0}^{k-1} (x - x_j).

Oczywiście: f[xi]=f(xi),(0≤i≤n). f[x_i] = f(x_i), \qquad (0 \le i \le n).


3. Twierdzenie o ilorazach różnicowych wyższych rzędów

Ilorazy różnicowe spełniają równość: f[x0,x1,…,xn]=f[x1,x2,…,xn]−f[x0,x1,…,xn−1]xn−x0. f[x_0,x_1,\dots,x_n] = \frac{f[x_1,x_2,\dots,x_n] - f[x_0,x_1,\dots,x_{n-1}]}{x_n - x_0}.

3.1. D-d

Niech pk∈Πkp_k \in \Pi_k będzie wielomianem interpolującym ff w węzłach x0,…,xkx_0, \dots, x_k. Potrzebujemy wielomianów pnp_n oraz pn−1p_{n-1}. Niech będzie wielomianem q∈Πn−1q \in \Pi_{n-1} interpolującym ff w węzłach x1,…,xnx_1,\dots,x_n.
Wówczas pn(x)=q(x)+x−xnxn−x0(q(x)−pn−1(x)) p_n(x) = q(x) + \frac{x - x_n}{x_n - x_0} \left( q(x) - p_{n-1}(x) \right)

Po obu stronach równości są wielomiany stopnia ≤n\le n. Wartości tych wielomianów w punktach x0,x1,…,xnx_0, x_1, \dots, x_n są takie same, co implikuje wielomiany muszą być identyczne. Potrzeba więc mieć po obu stronach identyczne współczynniki przy xnx^n. Współczynnik wielomianu stopnia ≤n\le n interpolującego ff w punktach x0,x1,…,xnx_0, x_1, \dots, x_n jest równy f[x0,x1,…,xn]f[x_0, x_1, \dots, x_n]. Stąd dostajemy f[x0,x1,…,xn]=f[x1,x1,…,xn]−f[x0,x1,…,xn−1]xn−x0 f[x_0, x_1, \dots, x_n] = \frac{f[x_1, x_1,\dots, x_n] - f[x_0, x_1, \dots, x_{n-1}]}{x_n - x_0}


4. Sposób uzyskiwania współczynników

Jeżeli dana jest tablica wartości funkcji (xi,f(xi))(x_i, f(x_i)), wówczas ilorazy różnicowe łatwo obliczamy konstruując tablicę trójkątną.
Przykład: ilorazy różnicowe rzędów 0,1,2,30,1,2,3 obliczamy:

4.1. Przykład

Skonstruować tablicę ilorazów różnicowych dla wartości z tabeli:

Korzystając z Twierdzenia#3 konstruujemy tablicę ilorazów różnicowych


5. Twierdzenie#4

Ilorazy różnicowe nie zależą od kolejności węzłów. Jeśli (z0,z1,…,zn)(z_0,z_1, \dots, z_n) jest permutacją (x0,x1,…,xn)(x_0, x_1, \dots, x_n), to f[z0,z1,…,zn]=f[x0,x1,…,xn]. f[z_0,z_1,\dots,z_n] = f[x_0,x_1,\dots,x_n].

5.1. D-d

Iloraz różnicowy jest równy współczynnikowi przy xnx^n wielomianu stopnia ≤n\le n interpolującego ff w węzłach z0,z1,…,znz_0,z_1,\dots,z_n. Podobnie iloraz różnicowy f[x0,x1,…,xn]f[x_0,x_1,\dots,x_n] jest równy współczynnikowi przy xnx^n wielomianu stopnia ≤n\le n interpolującego ff w węzłach x0,x1,…,xnx_0,x_1,\dots,x_n. Wielomiany oczywiście są równe więc współczynniki są równe.


6. Twierdzenie#5

Niech p∈Πnp \in \Pi_n interpolującym ff różnych węzłach x0,x1,…,xnx_0,x_1,\dots,x_n. Jeżeli t≠xit \neq x_i, wówczas f(t)−p(t)=f[x0,x1,…,xn,t]∏j=0n(t−xj). f(t) - p(t) = f[x_0,x_1,\dots,x_n,t] \prod_{j=0}^n (t-x_j).

6.1. D-d

Niech q∈Πn+1q \in \Pi_{n+1} będzie wielomianem interpolującym ff w węzłach x0,x1,…,xn,tx_0,x_1,\dots,x_n,t. Wielomian qq możemy otrzymać z pp przez dodanie jednego czynnika (postać Newtona) q(x)=p(x)+f[x0,x1,…,xn,t]∏j=0n(x−xj). q(x) = p(x) + f[x_0,x_1,\dots,x_n,t] \prod_{j=0}^n (x-x_j).

Ponieważ q(t)=f(t)q(t) = f(t) dla x=tx = t. Zatem f(t)−p(t)=f[x0,x1,…,xn,t]∏j=0n(t−xj). f(t) - p(t) = f[x_0,x_1,\dots,x_n,t] \prod_{j=0}^n (t - x_j).