Sprawozdanie
Dawid Kasiński
Grupa T11A
17.10.2011r
Przedmiot: Technika obliczeniowa i symulacja (Labolatoria)
Temat: Temat 2
Zadanie 1. Wygeneruj funkcję y=x.^5-x-1 w przedziale <-10; 10> z dokładnością do 0,1. Napisz algorytm szukania pierwiastków tego równania metoda bisekcji. Rysuj wykres wyników.
epsi=10^-6
x=-10:0.1:10 ;
fun=@(x) x.^5-x-1 ;
xa=0;fa=fun(xa)
xb=10;fb=fun(xb)
if fa*fb>0 disp('brak rozwiazania');return;end
xc=(xa+xb)/2;fc=fun(xc)
y=[xc];
while abs(fc)>epsi
if fa*fc>0
xa=xc;fa=fc
else
xb=xc;fb=fc
end
xc=(xa+xb)/2;fc=fun(xc)
y=[y,xc]
end
plot( y)
Zadanie 2. Napisz algorytm szukania pierwiastków równania z zadania pierwszego metoda siecznych. Rysuj wykres wyników.
epsi=10^-6
x=-2:0.1:2 ;
fun=@(x) x.^5-x-1 ;
xa=0;fa=fun(xa)
xb=10;fb=fun(xb)
if fa*fb>0 disp('brak rozwiazania');return;end
xc= xa-fa*(xb-xa)/(fb-fa);
y=[xc];
while abs(fc)>epsi
if fa*fc>0
xa=xc;fa=fc
else
xb=xc;fb=fc
end
xc= xa-fa*(xb-xa)/(fb-fa);
y=[y,xc]
end
plot(y)
Zadanie 3. Napisz algorytm szukania pierwiastków uprzedniego równania metodą stycznych.
x=-10:0.1:10;
y=3*x-cos(x)-1;
fu=@(x) 3*x-cos(x)-1;
fup=@(x) sin(x)+3; %pochodna- recznie trzeba liczyc
epsi=10^(-6);
xc=3; %wazne punkt startowy sami wprowadzamy
fc=fu(xc);
fp=fup(xc);
y1=xc;
while abs(fc)>epsi
x1=xc;
xc=xc-fc/fp;
fc=fu(xc);
y1=[y1,xc];
end
plot(y1)
grid on
disp (xc) %wynik
Zadanie 3. Porównaj te trzy metody.
Najbardziej dokładną metodą jest metoda Newtona ale jest bardzo kosztowna w pracę gdyż wymaga obliczenia pochodnych funkcji a te nie zawsze dają się wyliczyć i wtedy nad metoda stycznych góruje metoda siecznych która nie wymaga obliczania pochodnej funkcji i jest bardziej efektywna. Bisekcja ma kilka istotnych zalet. Oprócz jej prostoty, należy podkreślić fakt, że bisekcja jest w pewnym sensie uniwersalna. Jeśli tylko dysponujemy dwoma punktami i takimi, że przyjmuje w nich wartości przeciwnych znaków, to metoda bisekcji z pewnością znajdzie miejsce zerowe funkcji.