1. Wyznaczenie funkcji g(x):
wzór ogólny funkcji
2. Obliczenie przybliżeń:
a) dla punktu startowego p0=1.9
b) dla punktu startowego p0=3.8
3. Obliczenie pochodnych w punktach startowych
a) dla punktu startowego Po=1.9
a) dla punktu startowego p0=1.9
b) dla punktu startowego p0=3.8
4. Kod programu
function y=g(x)
y=0.5*x.^2-2*x+4;
>> x=linspace(1,3);
p0=1.9;tol=0.001;max1=30;
[k, p, err, P] = fixpt('g', p0, tol, max1)
k =
4
p =
2.0000
err =
1.2500e-005
P =
1.9000
2.0050
2.0000
2.0000
>> x=linspace(3,5);
p0=3.8;tol=0.001;max1=30;
[k, p, err, P] = fixpt('g', p0, tol, max1)
k =
9
p =
2.0000
err =
2.7802e-006
P =
3.8000
3.6200
3.3122
2.8609
2.3706
2.0687
2.0024
2.0000
2.0000
function y=g(x)
y=-0.5*x.^2+4*x-4;
>> x=linspace(1,3);
p0=1.9;tol=0.001;max1=30;
[k, p, err, P] = fixpt('g', p0, tol, max1)
Przekroczono maksymalna liczbe iteracji
k =
30
p =
-Inf
err =
NaN
P =
1.0e+173 *
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-7.6519
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
-Inf
>> x=linspace(3,5);
p0=3.8;tol=0.001;max1=30;
[k, p, err, P] = fixpt('g', p0, tol, max1)
k =
4
p =
4.0000
err =
1.9998e-004
P =
3.8000
3.9800
3.9998
4.0000
>> xpom=linspace(1,5,500);
ypom=-0.5*xpom.^2+3*xpom-4;
plot(xpom,ypom,'k-');
legend('funkcja f(x)');
>> grid on
5. Wnioski
W celu poprawnego wyznaczenia miejsc zerowych badanej funkcji f(x) musimy określić dwie funkcje g(x), ponieważ w pierwszym przypadku podczas przybliżeń funkcją g(x) odnajdujemy tylko miejsce zerowe w punkcie x=2. W drugim przypadku odnajdujemy miejsce zerowe tylko zaczynając od punktu startowego P=3.8, jeżeli zaczniemy od punktu P=1.9 otrzymujemy funkcję rozbieżną. Ilość iteracji potrzebnych do wyznaczenia miejsc zerowych jest niewielka a dokładność większa niż na początku zakładano. Wynika z tego, że metodą punktu stałego zawsze wyznaczymy miejsca zerowe funkcji, wystarczy tylko określić odpowiednią funkcję g(x).
Cezary Winnik 157958
Metody numeryczne
Temat: Miejsca zerowe
Prowadzący: dr inż. P. Regucki