równania nie liniowe, POLIBUDA, sem III, metody numeryczne


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



Wyszukiwarka

Podobne podstrony:
Sprawozdanie nr 2(1), Polibuda, Semestr III, Metody Numeryczne
Wykład 2 (sem. III), Metodyka WF
Wykład 3 (sem. III), Metodyka WF
Wykład 1 (sem. III), Metodyka WF
Całkowanie numeryczne, Studia, ZiIP, SEMESTR III, Metody numeryczne
Wykład 5 (sem. III), Metodyka WF
Całkowanie numeryczne metoda trapezów mini, Studia, ZiIP, SEMESTR III, Metody numeryczne
Interpolacja Lagrange, Studia, ZiIP, SEMESTR III, Metody numeryczne
sciaga kolos, Automatyka i Robotyka, Semestr III, Metody numeryczne
2. Matlab. Algebra liniowa, Elektrotechnika - notatki, sprawozdania, Metody numeryczne w technice
Wykład 4 (sem. III), Metodyka WF
Wykład 2 (sem. III), Metodyka WF
rozwiązywanie układów równań liniowych spr, Politechnika Lubelska, Studia, Studia, sem III, sprawka,
strona piotrka, Politechnika Lubelska, Studia, sem III, pen, METODY NUMERYCZNE, metody numeryczbe st
Metody jednokrokowe rozwiązywania równań różniczkowych, aaa, studia 22.10.2014, całe sttudia, III se
metody nrr, Politechnika Lubelska, Studia, Studia, sem III, pen, METODY NUMERYCZNE, metody numeryczb
Cw 9 DUO, Politechnika Lubelska, Studia, Studia, sem III, pen, METODY NUMERYCZNE, Scilab

więcej podobnych podstron