1.Funkcja z której szukamy pierwiastki

function g=funkcja(x);

g=(x-3)*(x+5)*(x+7); równanie funkcji

end

2.Rozwiązywanie równań nieliniowych (Metoda bisekcji)

function c=bisekcja(a, b, ep) deklaracja funkji

if nargin()<3 zabezpieczenie przed podaniem zlej wartosci

parametrow

ep=0.00005; parametr ustawiany domyslnie

end

if funkcja(a)*funkcja(b)>0; sprawdzanie przedzialu

disp('brak miejsc zerowych')

elseif funkcja(a)*funkcja(b)==0; wyjatek dla iloczynu rownego 0

a;

b;

funkcja(a)

funkcja(b)

else

while abs(b-a)>ep petal liczaca kolejne punkty podzialu

d=(a+b)/2;

if funkcja(a)*funkcja(d)<0; warunek zbierznosci pierwszego przedzialu

b=d;

elseif funkcja(b)*funkcja(d)<0; warunek zbierznosci drugiego przedzialu

a=d;

else funkcja zeruje sie w ktoryms punkcje a lub b

break

return

end

end

if funkcja(d)==0 wypisanie wyniku

disp(['rozwiazaniem jest ',num2str(d)])

else

a

b

funkcja(a)

funkcja(b)

end

end

end

3. Rozwiązywanie równań nieliniowych (Metoda siecznych)

function c=sieczna(a, b, ep)

if nargin()<3 zabezpieczenie przed podaniem zlej wartości

parametrow

ep=0.00005; parametr ustawiany domyslnie

end

if funkcja(a)*funkcja(b)>0; sprawdzanie przedzialu

disp('brak miejsc zerowych')

elseif funkcja(a)*funkcja(b)==0; wyjatek dla iloczynu rownego 0

a;

b;

funkcja(a)

funkcja(b)

else

while abs(funkcja(b))>ep; petal liczaca kolejne punkty podzialu

if abs(funkcja(a))<ep

break

endif

x=GAUSE([1 a;1 b],[funkcja(a);funkcja(b)]); wyliczanie parametrow prostej przechodzącej

przez punkty a b (funkcja wykanianie wlasne)

d=-x(1,1)/x(2,1);

if funkcja(a)*funkcja(d)<0; warunek zbierznosci pierwszego przedzialu

b=d;

elseif funkcja(b)*funkcja(d)<0; warunek zbierznosci drugiego przedzialu

a=d;

else funkcja zeruje sie w ktoryms punkcje a lub b

break

return

end

end

if funkcja(d)==0 wypisanie wyniku

disp(['rozwiazaniem jest ',num2str(d)])

else

a

b

funkcja(a)

funkcja(b)

end

end

end

4. Rozwiązywanie równań nieliniowych (Metoda stycznych)

function c=styczna(a, ep)

b=a+0.00005; punkt współ styczny z punktem a

if nargin()<2 zabezpieczenie przed podaniem zlej wartości

parametrow

ep=0.00005 parametr ustawiany domyslnie

end

if funkcja(a)*funkcja(b)==0; wyjatek dla iloczynu rownego 0

a

funkcja(a)

else

while abs(funkcja(a))>ep;

x=GAUSE([1 a;1 b],[funkcja(a);funkcja(b)]); wyliczanie parametrow prostej przechodzącej

przez punkty a b (funkcja wykanianie wlasne)

d=-x(1,1)/x(2,1);

if funkcja(a)*funkcja(d)!=0; zmiana położenia punktow nowej stycznej

a=d;

else

break

return

end

end

if funkcja(d)==0 wypisanie wyniku

disp(['rozwiazaniem jest ',num2str(d)])

else

a

funkcja(a)

end

end