Treść zadania
5) Miejsca zerowe
Dana jest funkcja f(x)=x*exp(-x2), dla której zachodzi f(P)=0, PЄ(-0.6,0.6). Wyznacz ręcznie pierwsze trzy przybliżenia miejsca zerowego P1,P2,P3 metodą Newtona startując z punktów: P0=-0.6, P0=-0.5,P0=-0.3. Następnie wyznacz miejsca zerowe funkcji z dokładnością δ=0.001 używając odpowiedniego skryptu Octava (Matlaba) dla tych punktów. Skomentuj wynik i dokładność otrzymanych miejsc zerowych. Używając komendy plot zrób wykres funkcji f(x) na zadanym przedziale oraz zaznacz kolejne P1,P2,P3 dla punktów startowych. Wydruk wykresu (wraz z kodem) dołącz do sprawozdania.
Obliczenia
Kod program
function y=f(x)
y=x.*exp(-x.^2);
function y=df(x)
y=(1-2*x^2).*exp(-x.^2);
x=linspace(-0.6,0.6);
p0=-0.6; delta=0.001; tol=0.0001; max1=30;
[k, p, err, P, GP] = newton('f', 'df', p0, delta, tol, max1)
k =
9
p =
3.2635
err =
0.1706
P =
-0.6000
1.5429
1.9531
2.2477
2.4946
2.7125
2.9103
3.0929
GP =
-0.4186
0.1427
0.0431
0.0144
0.0049
0.0017
0.0006
0.0002
0.0001
p0=-0.5; delta=0.001; tol=0.0001; max1=30;
30
0.5000
1
-0.5000
-0.3894
0.3894
p0=-0.3; delta=0.001; tol=0.0001; max1=30;
4
3.8255e-010
5.7617e-004
-0.3000
0.0659
-0.0006
0.0000
-0.2742
0.0656
plot(x,y);
legend('funkcja');
grid on
Wnioski
Badana funkcja posiada tylko jedno miejsce zerowe na zadanym przedziale.. W pierwszym przypadku miejsce zerowe jest poza przedziałem punktu. Zaczynając z punktu startowego P=-0.3 potrzebne są cztery iteracje. Startując z punktu P=-0,5 nie otrzymamy miejsca zerowego ponieważ przybliżenie skacze od wartości 0,5 do -0,5 naprzemiennie.
bzyku151515