Metoda siecznych
Założenia:
f ∈ C 2 [ a ; b ] f \in C^2 [a;b] f ∈ C 2 [ a ; b ]
f ′ ( r ) ≠ 0 f'(r) \neq 0 f ′ ( r ) = 0 (r r r jest pierwiastkiem jednokrotnym)
Aproksymujemy f ′ ( x n ) ≈ f ( x n ) − f ( x n − 1 ) x n − x n − 1 f'(x_n) \approx \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} f ′ ( x n ) ≈ x n − x n − 1 f ( x n ) − f ( x n − 1 ) .
x n + 1 = x n − x n − x n − 1 f ( x n ) − f ( x n − 1 ) ⋅ f ( x n ) = x n + h n
x_{n+1} = x_n - \frac{x_n - x_{n-1}}{f(x_n) - f(x_{n-1})} \cdot f(x_n) = x_n + h_n
x n + 1 = x n − f ( x n ) − f ( x n − 1 ) x n − x n − 1 ⋅ f ( x n ) = x n + h n gdzie:
n ≥ 1 n \ge 1 n ≥ 1
x 0 , x 1 x_0, x_1 x 0 , x 1 są dane
Warunek końca: ∣ x n + 1 − x n ∣ ≤ δ |x_{n+1} - x_n| \le \delta ∣ x n + 1 − x n ∣ ≤ δ , ∣ f ( x n + 1 ) ∣ ≤ ϵ |f(x_{n+1})| \le \epsilon ∣ f ( x n + 1 ) ∣ ≤ ϵ .
Algorytm
Dane: a , b , M , δ , ϵ a,b,M, \delta, \epsilon a , b , M , δ , ϵ
Wyniki: k , r ~ , f ( r ~ ) k, \tilde{r}, f(\tilde{r}) k , r ~ , f ( r ~ )
f a ← f ( a ) fa \gets f(a) f a ← f ( a )
f b ← f ( b ) fb \gets f(b) f b ← f ( b )
for
k ← 1 k \gets 1 k ← 1 to
M M M :
if
∣ f a ∣ > ∣ f b ∣ |fa| > |fb| ∣ f a ∣ > ∣ f b ∣ :
a ↔ b a \leftrightarrow b a ↔ b
f a ↔ f b fa \leftrightarrow fb f a ↔ f b
s ← b − a f b − f a s \gets \frac{b-a}{fb - fa} s ← f b − f a b − a
b ← a b \gets a b ← a
f b ← f a fb \gets fa f b ← f a
a ← a − f a ⋅ s a \gets a - fa \cdot s a ← a − f a ⋅ s
f a ← f ( a ) fa \gets f(a) f a ← f ( a )
if
∣ b − a ∣ < δ |b-a| < \delta ∣ b − a ∣ < δ or
∣ f a ∣ < ϵ |fa| < \epsilon ∣ f a ∣ < ϵ :
return
k , a , f a k, a, fa k , a , f a
Powyższy algorytm korzysta z funkcji liczącej f ( x ) f(x) f ( x ) .
Twierdzenie o lokalnej zbieżności metody siecznych
Niech f ∈ C 2 [ a ; b ] f \in C^2[a;b] f ∈ C 2 [ a ; b ] i r r r będzie jednokrotnym pierwiastkiem f f f . Wówczas istnieje otoczenie r r r i stała K K K i jeśli przybliżenia początkowe x 0 , x 1 x_0, x_1 x 0 , x 1 należą do otoczenia r r r , to ciąg konstruowanych przez metodę siecznych przybliżeń { x n } \{ x_n \} { x n } spełnia ∣ x n + 1 − r ∣ ≤ K ∣ x n − r ∣ 1 + 5 2 |x_{n+1} - r| \le K|x_n - r|^{\frac{1 + \sqrt{5}}{2}} ∣ x n + 1 − r ∣ ≤ K ∣ x n − r ∣ 2 1 + 5 .
Ponadto lim n → ∞ x n = r \lim_{n \to \infty} x_n = r lim n → ∞ x n = r .
D-d
Wykładnik zbieżności
Przez błąd rozumiemy wielkość e n = x n − r e_n = x_n - r e n = x n − r .
e n + 1 = x n + 1 − r = x n − f ( x n ) f ( x n ) − f ( x n − 1 ) x n − x n − 1 − r = = e n − f ( x n ) f ( x n ) − f ( x n − 1 ) x n − x n − 1 = e n ⋅ f ( x n ) − f ( x n − 1 ) x n − x n − 1 − f ( x n ) f ( x n ) − f ( x n − 1 ) x n − x n − 1
e_{n+1} = x_{n+1} - r = x_n - \frac{f(x_n)}{\frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}}} - r =\\
= e_n - \frac{f(x_n)}{\frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}}} = \frac{e_n \cdot \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} - f(x_n)}{\frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}}}
e n + 1 = x n + 1 − r = x n − x n − x n − 1 f ( x n ) − f ( x n − 1 ) f ( x n ) − r = = e n − x n − x n − 1 f ( x n ) − f ( x n − 1 ) f ( x n ) = x n − x n − 1 f ( x n ) − f ( x n − 1 ) e n ⋅ x n − x n − 1 f ( x n ) − f ( x n − 1 ) − f ( x n )
Funkcję f f f można przedstawić za pomocą wzoru interpolacyjnego Newtona f ( r ) = f ( x n ) + f ( x n ) − f ( x n − 1 ) x n − x n − 1 ⋅ ( r − x n ) + 1 2 f ′ ′ ( ζ n ) ⋅ ( r − x n − 1 ) ( r − x n ) = = f ( x n ) − f ( x n ) − f ( x n − 1 ) x n − x n − 1 ⋅ e n + 1 2 ⋅ f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
f(r) = f(x_n) + \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} \cdot (r - x_n) + \frac{1}{2} f''(\zeta_n)\cdot (r - x_{n-1}) (r - x_n) =\\
= f(x_n) - \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} \cdot e_n + \frac{1}{2} \cdot f''(\zeta_n) \cdot e_{n-1} \cdot e_n
f ( r ) = f ( x n ) + x n − x n − 1 f ( x n ) − f ( x n − 1 ) ⋅ ( r − x n ) + 2 1 f ′ ′ ( ζ n ) ⋅ ( r − x n − 1 ) ( r − x n ) = = f ( x n ) − x n − x n − 1 f ( x n ) − f ( x n − 1 ) ⋅ e n + 2 1 ⋅ f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
ζ n \zeta_n ζ n jest liczbą leżącą między x n − 1 x_{n-1} x n − 1 a x n x_n x n . 0 = f ( r ) = f ( x n ) − f ( x n ) − f ( x n − 1 ) x n − x n − 1 ⋅ e n + 1 2 ⋅ f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
0 = f(r) = f(x_n) - \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} \cdot e_n + \frac{1}{2} \cdot f''(\zeta_n) \cdot e_{n-1} \cdot e_n
0 = f ( r ) = f ( x n ) − x n − x n − 1 f ( x n ) − f ( x n − 1 ) ⋅ e n + 2 1 ⋅ f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
Przekształcając powyższe równanie otrzymujemy f ( x n ) − f ( x n − 1 ) x n − x n − 1 ⋅ e n − f ( x n ) = 1 2 ⋅ f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
\frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} \cdot e_n - f(x_n) = \frac{1}{2} \cdot f''(\zeta_n) \cdot e_{n-1} \cdot e_n
x n − x n − 1 f ( x n ) − f ( x n − 1 ) ⋅ e n − f ( x n ) = 2 1 ⋅ f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
Z twierdzenia o wartości średniej otrzymujemy f ′ ( x n ) ≈ f ( x n ) − f ( x n − 1 ) x n − x n − 1 = f ′ ( η n )
f'(x_n) \approx \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} = f'(\eta_n)
f ′ ( x n ) ≈ x n − x n − 1 f ( x n ) − f ( x n − 1 ) = f ′ ( η n ) gdzie η n \eta_n η n jest leżącą między x n − 1 x_{n-1} x n − 1 a x n x_n x n .
e n + 1 = e n ⋅ f ( x n ) − f ( x n − 1 ) x n − x n − 1 − f ( x n ) f ( x n ) − f ( x n − 1 ) x n − x n − 1 = = 1 2 f ′ ′ ( ζ n ) f ′ ( η n ) ⋅ e n − 1 ⋅ e n
e_{n+1} =
\frac{e_n \cdot \frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}} - f(x_n)}{\frac{f(x_n) - f(x_{n-1})}{x_n - x_{n-1}}} =\\
= \frac{1}{2} \frac{f''(\zeta_n)}{f'(\eta_n)} \cdot e_{n-1} \cdot e_n
e n + 1 = x n − x n − 1 f ( x n ) − f ( x n − 1 ) e n ⋅ x n − x n − 1 f ( x n ) − f ( x n − 1 ) − f ( x n ) = = 2 1 f ′ ( η n ) f ′ ′ ( ζ n ) ⋅ e n − 1 ⋅ e n
Dla dostatecznie dużych n n n jest ζ n ≈ r \zeta_n \approx r ζ n ≈ r , η n ≈ r \eta_n \approx r η n ≈ r . ∣ e n + 1 ∣ ≈ 1 2 ∣ f ′ ′ ( r ) f ′ ( r ) ∣ ⋅ ∣ e n − 1 ∣ ⋅ ∣ e n ∣ = C ⋅ ∣ e n − 1 ∣ ⋅ ∣ e n ∣
|e_{n+1}| \approx \frac{1}{2} \left| \frac{f''(r)}{f'(r)} \right| \cdot |e_{n-1}| \cdot |e_n| = C\cdot |e_{n-1}| \cdot |e_n|
∣ e n + 1 ∣ ≈ 2 1 ∣ ∣ ∣ ∣ ∣ f ′ ( r ) f ′ ′ ( r ) ∣ ∣ ∣ ∣ ∣ ⋅ ∣ e n − 1 ∣ ⋅ ∣ e n ∣ = C ⋅ ∣ e n − 1 ∣ ⋅ ∣ e n ∣
Twierdzimy, że ∣ e n + 1 ∣ ≈ K ∣ e n ∣ p |e_{n+1}| \approx K|e_n|^p ∣ e n + 1 ∣ ≈ K ∣ e n ∣ p
∣ e n ∣ ≈ K ∣ e n − 1 ∣ p .
|e_n| \approx K|e_{n-1}|^p.
∣ e n ∣ ≈ K ∣ e n − 1 ∣ p .
Stąd mamy ∣ e n − 1 ∣ ≈ ∣ e n ∣ 1 p ⋅ K − 1 p
|e_{n-1}| \approx |e_n|^{\frac{1}{p}} \cdot K^{-\frac{1}{p}}
∣ e n − 1 ∣ ≈ ∣ e n ∣ p 1 ⋅ K − p 1
Dalej ∣ e n + 1 ∣ ≈ C ⋅ ∣ e n + 1 ∣ ⋅ ∣ e n ∣ ≈ C ⋅ ∣ e n ∣ ⋅ ∣ e n ∣ 1 p ⋅ K − 1 p = C ⋅ ∣ e n ∣ 1 + 1 p ⋅ K − 1 p
|e_{n+1}| \approx C\cdot |e_{n+1}| \cdot |e_n| \approx C\cdot |e_n|\cdot |e_n|^{\frac{1}{p}} \cdot K^{-\frac{1}{p}} = C\cdot |e_n|^{1 + \frac{1}{p}} \cdot K^{-\frac{1}{p}}
∣ e n + 1 ∣ ≈ C ⋅ ∣ e n + 1 ∣ ⋅ ∣ e n ∣ ≈ C ⋅ ∣ e n ∣ ⋅ ∣ e n ∣ p 1 ⋅ K − p 1 = C ⋅ ∣ e n ∣ 1 + p 1 ⋅ K − p 1
Przyrównując stronami K ⋅ ∣ e n ∣ p ≈ C ⋅ ∣ e n ∣ 1 + 1 p ⋅ K − 1 p
K\cdot |e_n|^p \approx C\cdot |e_n|^{1 + \frac{1}{p}} \cdot K^{-\frac{1}{p}}
K ⋅ ∣ e n ∣ p ≈ C ⋅ ∣ e n ∣ 1 + p 1 ⋅ K − p 1
Po pogrupowaniu otrzymujemy K 1 + 1 p ⋅ ∣ e n ∣ p ≈ C ⋅ ∣ e n ∣ 1 + 1 p
K^{1 + \frac{1}{p}} \cdot |e_n|^p \approx C \cdot |e_n|^{1+\frac{1}{p}}
K 1 + p 1 ⋅ ∣ e n ∣ p ≈ C ⋅ ∣ e n ∣ 1 + p 1
Z powyższej równości dostajemy p = 1 + 1 p p = 1 + \frac{1}{p} p = 1 + p 1 . Dodatnim pierwiastkiem równanie jest p = 1 + 5 2 p = \frac{1 + \sqrt{5}}{2} p = 2 1 + 5 . Wyznaczamy K K K z równania K 1 + 1 p = C K^{1 + \frac{1}{p}} = C K 1 + p 1 = C .
Z faktu, że 1 + 1 p = p 1 + \frac{1}{p} = p 1 + p 1 = p otrzymujemy równanie K p = C K^p = C K p = C . Ostatecznie K = C 1 p K = C^{\frac{1}{p}} K = C p 1 oraz ∣ e n + 1 ∣ ≤ K ⋅ ∣ e n ∣ 1 + 5 2 .
|e_{n+1}| \le K\cdot |e_n|^{\frac{1 + \sqrt{5}}{2}}.
∣ e n + 1 ∣ ≤ K ⋅ ∣ e n ∣ 2 1 + 5 .
Zbieżność
Jak dla metody Newtona .
■ \blacksquare ■