Równania nieliniowe
Transkrypt
Równania nieliniowe
Przykładowe zadania - równania nieliniowe : styczeń 2008 1 Zadanie 1. Znaleźć rozwiązanie równania x2 − 1 = 0 w przedziale [a; b] = [−1, 3; −0, 5] metodą bisekcji zakładając wielkość błędu ∆ = 0, 25. Odpowiedź: Po pierwsze sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 5 − (−1, 3)| = 0, 8 > ∆ = 0, 25. W tej sytuacji obliczamy x = 0, 5 ∗ (a + b) = 0, 5 ∗ (−1, 3 + (−0, 5)) = −0, 9. Po drugie sprawdzamy czy f (x) = 0. Mamy f (x = −0, 9) = (−0, 9)2 − 1 = 0, 81 − 1 = −0, 19 czyli f (x) 6= 0. Po trzecie określamy nowy przedział [a; b] taki, dla którego zachodzi f (a)f (b) < 0. Dla dwóch możliwych przedziałów [a; x] i [x; b] czyli [−1, 3; −0, 9] i [−0, 9; −0, 5], mamy: f (−1, 3) ∗ f (−0, 9) = 0, 69 ∗ (−0, 19) = −0, 1311 < 0, f (−0, 9) ∗ f (−0, 5) = −0, 19 ∗ (−0, 75) = 0, 1425 > 0. Stąd nowy przedział [a; b] = [−1, 3; −0, 9]. I powtarzamy dotychczasowy algorytm obliczeń dla nowego przedziału. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 9 − (−1, 3)| = 0, 4 > ∆ = 0, 25. Obliczamy x = 0, 5 ∗ (a + b) = 0, 5 ∗ (−1, 3 + (−0, 9)) = −1, 1. Sprawdzamy czy f (x) = 0. Mamy f (x = −1, 1) = (−1, 1)2 − 1 = 1, 21 − 1 = 0, 21 czyli f (x) 6= 0. Określamy nowy przedział [a; b] taki, dla którego zachodzi f (a)f (b) < 0. Dla dwóch możliwych przedziałów [a; x] i [x; b] czyli [−1, 3; −1, 1] i [−1, 1; −0, 9], mamy: f (−1, 3) ∗ f (−1, 1) = 0, 69 ∗ 0, 21 = 0, 1449 > 0, f (−1, 1) ∗ f (−0, 9) = 0, 21 ∗ (−0, 19) = −0, 0399 < 0. Stąd nowy przedział [−1, 1; −0, 9]. I powtarzamy algorytm obliczeń dla nowego przedziału. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 9 − (−1, 1)| = 0, 2 < ∆ = 0, 25 !!!. Obliczamy x∗ = 0, 5 ∗ (a + b) = 0, 5 ∗ (−1, 1 + (−0, 9)) = −1, 0. I koniec obliczeń. Rozwiązaniem równania jest więc x∗ = −1, 0. Zadanie 2. Rozwiązać podane równanie nieliniowe x2 − 1 = 0 metodą stycznych, przyjmując punkt startowy x0 = −0, 9 i wielkość błędu ∆ = 0, 25. Odpowiedź: Po pierwsze obliczamy wartości f (x0 ) i f ′ (x0 ): f (x0 ) = (−0, 9)2 − 1 = −0, 19 i f ′ (x0 ) = 2 ∗ (−0, 9) = −1, 8. Po drugie obliczamy nowe przybliżenie rozwiązania równiania korzystając ze wzoru metody stycznych: x = x0 − f (x0 )/f ′ (x0 ) = −0, 9 − (−0, 19)/(−1, 8) = −0, 9 − 0, 1056 = −1, 0056. Po trzecie sprawdzamy czy |x0 − x| ¬ ∆. Czyli | − 0, 9 − (−1, 0056)| = 0, 1056 < ∆ = 0, 25 !!! I koniec obliczeń. Rozwiązaniem równania jest x∗ = −1, 0056. Przykładowe zadania - równania nieliniowe : styczeń 2008 2 Zadanie 3. Znaleźć rozwiązanie równania x2 − 1 = 0 w przedziale [a; b] = [−1, 3; −0, 5] metodą regula falsi zakładając wielkość błędu ∆ = 0, 25. Odpowiedź: Na początku sprawdzamy czy f (a)f (b) < 0. Mamy: f (−1, 3) ∗ f (−0, 5) = 0, 69 ∗ (−0, 75) = −0, 5175 < 0. Po pierwsze obliczamy ze wzoru x = [a ∗ f (b) − b ∗ f (a)]/[f (b) − f (a)]. Czyli x = (−1, 3 ∗ (−0, 75) − (−0, 5) ∗ 0, 69)/(−0, 75 − 0, 69) = −0, 9167. Po drugie sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 5 − (−1, 3)| = 0, 8 > ∆ = 0, 25. Po trzecie sprawdzamy czy f (x) = 0. Mamy f (x = −0, 9167) = (−0, 9167)2 − 1 = 0, 8403 − 1 = −0, 1597 czyli f (x) 6= 0. Po czwarte określamy nowy przedział [a; b] taki, dla którego zachodzi f (a)f (b) < 0. Dla dwóch możliwych przedziałów [a; x] i [x; b] czyli [−1, 3; −0, 9167] i [−0, 9167; −0, 5], mamy: f (−1, 3) ∗ f (−0, 9167) = 0, 69 ∗ (−0, 1597) < 0, f (−0, 9167) ∗ f (−0, 5) = −0, 1597 ∗ (−0, 75) > 0. Stąd nowy przedział [a; b] = [−1, 3; −0, 9167]. I powtarzamy dotychczasowy algorytm obliczeń dla nowego przedziału. Obliczamy x = (a ∗ f (b) − b ∗ f (a))/(f (b) − f (a)). Czyli x = (−1, 3 ∗ (−0, 1597) − (−0, 9167) ∗ 0, 69)/(−0, 1597 − 0, 69) = −0, 9887. Sprawdzamy czy |b − a| ¬ ∆, | − 0, 9167 − (−1, 3)| = 0, 3833 > ∆ = 0, 25. Sprawdzamy czy f (x) = 0. Mamy f (x = −0, 9887) = (−0, 9887)2 − 1 = 0, 9775 − 1 = −0, 0225 czyli f (x) 6= 0. Określamy nowy przedział [a; b]. Dla dwóch możliwych przedziałów [a; x] i [x; b] mamy: f (−1, 3) ∗ f (−0, 9887) = 0, 69 ∗ (−0, 0225) < 0, f (0, 9887) ∗ f (−0, 9167) = −0, 0225 ∗ (−0, 1597) > 0. Stąd nowy przedział [a; b] = [−1, 3; −0, 9887]. I powtarzamy algorytm obliczeń dla nowego przedziału. Obliczamy x = (−1, 3 ∗ (−0, 0225) − (−0, 9887) ∗ 0, 69)/(−0, 0225 − 0, 69) = −0, 9985. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 9887 − (−1, 3)| = 0, 3113 > ∆ = 0, 25. Sprawdzamy czy f (x) = 0. f (x = −0, 9985) = (−0, 9985)2 − 1 = 0, 997 − 1 = −0, 003 czyli f (x) 6= 0. Nowy przedział. Dla dwóch możliwych przedziałów [a; x] i [x; b] mamy: f (−1, 3) ∗ f (−0, 9985) = 0, 69 ∗ (−0, 003) < 0, f (0, 9985) ∗ f (−0, 9887) = −0, 003 ∗ (−0, 0225) > 0. Stąd nowy przedział [a; b] = [−1, 3; −0, 9985]. I powtarzamy algorytm obliczeń dla nowego przedziału. Obliczamy x = (−1, 3 ∗ (−0, 003) − (−0, 9985) ∗ 0, 69)/(−0, 003 − 0, 69) = −0, 9998. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 9985 − (−1, 3)| = 0, 3015 > ∆ = 0, 25. Sprawdzamy czy f (x) = 0. f (x = −0, 9998) = (−0, 9998)2 − 1 = 0, 9996 − 1 = −0, 0004 czyli f (x) 6= 0. Nowy przedział. Dla dwóch możliwych przedziałów [a; x] i [x; b] mamy: f (−1, 3) ∗ f (−0, 9998) = 0, 69 ∗ (−0, 0004) < 0, f (0, 9998) ∗ f (−0, 9985) = −0, 0004 ∗ (−0, 003) > 0. Stąd nowy przedział [a; b] = [−1, 3; −0, 9998]. I powtarzamy algorytm obliczeń dla nowego przedziału. Obliczamy x = (−1, 3 ∗ (−0, 0004) − (−0, 9998) ∗ 0, 69)/(−0, 0004 − 0, 69) = 0, 6904/(−0, 6904) = −1, 0. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 9998 − (−1, 3)| = 0, 3002 > ∆ = 0, 25. Sprawdzamy czy f (x) = 0. f (x = −1, 0) = (−1, 0)2 − 1 = 1 − 1 = 0, 0 czyli f (x) = 0. I koniec obliczeń. Rozwiązaniem równania jest więc x∗ = −1, 0. Przykładowe zadania - równania nieliniowe : styczeń 2008 3 Zadanie 4. Rozwiązać podane równanie nieliniowe x2 − 1 = 0 metodą iteracji prostej, przyjmując punkt startowy x0 = −0, 5 i α = 0, 5 oraz wielkość błędu ∆ = 0, 25. Odpowiedź: Po pierwsze korzystając ze wzoru x = x0 + αf (x0 ) obliczamy nowe przybliżenie rozwiązania równania f (x) = 0. Czyli mamy: x = x0 + α(x20 − 1) = −0, 5 + 0, 5 ∗ ((−0, 5)2 − 1) = −0, 5 + 0, 5 ∗ (−0, 75) = −0, 875. Po drugie sprawdzamy czy |x − x0 | ¬ ∆. Czyli | − 0, 875 − (−0, 5)| = 0, 375 > ∆ = 0, 25. Ponieważ warunek |x − x0 | ¬ ∆ nie jest spełniony obliczamy ponownie x przyjmując teraz jako x0 poprzednio obliczone x = −0, 875. Mamy teraz: x = x0 + α(x20 − 1) = −0, 875 + 0, 5 ∗ ((−0, 875)2 − 1) = −0, 875 + 0, 5 ∗ (−0, 2344) = −0, 9922. Sprawdzamy czy |x − x0 | ¬ ∆. Czyli | − 0, 9922 − (−0, 875)| = 0, 1172 < ∆ = 0, 25 !!! I koniec obliczeń. Rozwiązaniem równania jest x∗ = −0, 9922. Zadanie 5. Znaleźć rozwiązanie równania x2 − 1 = 0 w przedziale [a; b] = [−1, 3; −0, 5] metodą siecznych zakładając wielkość błędu ∆ = 0, 25. Odpowiedź: Po pierwsze przyjmujemy: xi = a = −1, 3; xi+1 = b = −0, 5; fi = f (a) = 0, 69; fi+1 = f (b) = −0, 75. Po drugie obliczamy x ze wzoru x = (xi ∗ fi+1 − xi+1 ∗ fi )/(fi+1 − fi ). Czyli x = (−1, 3 ∗ (−0, 75) − (−0, 5) ∗ 0, 69)/(−0, 75 − 0, 69) = −0, 9167. Po trzecie sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 5 − (−1, 3)| = 0, 8 > ∆ = 0, 25. Po czwarte sprawdzamy czy f (x) = 0. Mamy f (x = −0, 9167) = (−0, 9167)2 − 1 = 0, 8403 − 1 = −0, 1597 czyli f (x) 6= 0. Po piąte określamy nowy przedział [xi ; xi+1 ] taki, że ”nowe” xi jest teraz równe ”staremu” xi+1 z poprzednich obliczeń czyli xi = −0, 5. ”Nowe” xi+1 jest teraz równe x obliczonemu powyżej czyli x = −0, 9167. I powtarzamy dotychczasowy algorytm obliczeń dla nowego przedziału. Przyjmujemy: xi = −0, 5; xi+1 = −0, 9167; fi = −0, 75; fi+1 = −0, 1597. Obliczamy: x = (−0, 5 ∗ (−0, 1597) − (−0, 9167) ∗ (−0, 75)/(−0, 1597 − (−0, 75)) = −0, 997. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 9167 − (−0, 5)| = 0, 4167 > ∆ = 0, 25. Sprawdzamy czy f (x) = 0. Mamy f (x = −0, 997) = (−0, 997)2 − 1 = 0, 994 − 1 = −0, 006 czyli f (x) 6= 0. Określamy nowy przedział [xi ; xi+1 ] = [−0, 9167; −0, 997]. I powtarzamy algorytm obliczeń dla nowego przedziału. Przyjmujemy xi = −0, 9167; xi+1 = −0, 997; fi = −0, 1597; fi+1 = −0, 006. Obliczamy x = (−0, 9167 ∗ (−0, 006) − (−0, 997) ∗ (−0, 1597)/(−0, 006 − (−0, 1597)) = −0, 1537/0, 1537 = −1, 0. Sprawdzamy czy |b − a| ¬ ∆. Mamy | − 0, 997 − (−0, 9167)| = 0, 0803 < ∆ = 0, 25. Sprawdzamy jeszcze czy f (x) = 0. Mamy f (x = −1, 0) = (−1, 0)2 − 1 = 1 − 1 = 0. I koniec obliczeń. Rozwiązaniem równania jest więc znów x∗ = −1, 0. Zadanie 6. Znaleźć rozwiązanie równania x3 − x − 1 = 0 w przedziale [a; b] = [1, 0; 2, 0] metodą bisekcji zakładając wielkość błędu ∆ = 0, 01. Przykładowe zadania - równania nieliniowe : styczeń 2008 4 Zadanie 7. Znaleźć rozwiązanie równania x3 − x − 1 = 0 w przedziale [a; b] = [1, 0; 2, 0] metodą regula falsi zakładając wielkość błędu ∆ = 0, 01. Zadanie 8. Znaleźć rozwiązanie równania x3 − x − 1 = 0 w przedziale [a; b] = [1, 0; 2, 0] metodą siecznych zakładając wielkość błędu ∆ = 0, 01. Zadanie 9. Rozwiązać podane równanie nieliniowe x3 +x2 −3x−3 = 0 metodą stycznych, przyjmując punkt startowy x0 = 2 i wielkość błędu ∆ = 0, 01. Zadanie 10. Rozwiązać podane równanie nieliniowe x3 + x2 − 3x − 3 = 0 metodą iteracji prostej, przyjmując punkt startowy x0 = 2 oraz wielkość błędu ∆ = 0, 01. UWAGA: Wartość współczynnika α należy ustalić zgodnie z uwagami w konspekcie dotyczącymi metody iteracji prostej.