algorytmy 2

Uniwersytet Warmińsko – Mazurski w Olsztynie

II rok, studia stacjonarne

Mechatronika

Algorytmy i metody numeryczne

Temat: ROZWIĄZYWANIE NIELINIOWYCH RÓWNAŃ ALGEBRAICZNYCH

Adrian Mańka

Grupa 3

Cel ćwiczenia

Zad 7. Równanie ma pierwiastki . Stosując metodę połowienia, obliczyć dodatni pierwiastek tego równania zaczynając od przedziału . Ile iteracji należy wykonać, aby obliczyć pierwiastek z dokładnością do czterech miejsc dziesiętnych? Jaki jest maksymalny błąd po tej liczbie iteracji?

KOD

function f=f51(z) Zdefiniowanie funkcji f51, która będzie użyta w dalszej części.

f=z*z-2;

x_dokl=2;

a=-2; b=-1;

dokladnosc=1e-15;

deltax=(b-a)/2;

iter=0;

while deltax>dokladnosc

iter=iter+1;

x=(a+b)/2;

if (f51(a)*f51(x)>0)

a=x;

else b=x;

end

deltax=b-a;

dx_bis(iter)=abs(x_dokl-x)/x_dokl;

end

iter

x

deltax

WYNIK

>> zadanie7

iter =

50

x =

-1.4142

deltax =

8.8818e-16

Zad 8. Równanie ma tylko jeden pierwiastek rzeczywisty. Znaleźć ten pierwiastek metodą połowienia.

KOD

function f=f53(z) Zdefiniowanie funkcji f53, która będzie użyta w dalszej części.

f=z*z*z-z+1;

x_dokl=2;

a=-10; b=10;

dokladnosc=1e-15;

deltax=(b-a)/2;

iter=0;

while deltax>dokladnosc

iter=iter+1;

x=(a+b)/2;

if (f53(a)*f53(x)>0)

a=x;

else b=x;

end

deltax=b-a;

dx_bis(iter)=abs(x_dokl-x)/x_dokl;

end

iter

x

deltax

WYNIK

>> zadanie8

iter =

55

x =

-1.3247

deltax =

6.6613e-16

Zad 9. Znaleźć pierwiastek równania w przedziale . Ile trzeba wykonać iteracji, aby metodą połowienia otrzymać przybliżoną wartość pierwiastka z błędem nieprzekraczającym ?

KOD

function y=f55(x) Zdefiniowanie funkcji f55, która będzie użyta w dalszej części.

y=sin(x)+x-1

x_dokl=2;

a=0; b=1;

dokladnosc=8e-5;

deltax=(b-a)/2;

iter=0;

while deltax>dokladnosc

iter=iter+1;

x=(a+b)/2;

if (f55(a)*f55(x)>0)

a=x;

else b=x;

end

deltax=b-a;

dx_bis(iter)=abs(x_dokl-x)/x_dokl;

end

iter

x

deltax

WYNIK

>> zadanie9

y =

-1

y =

-0.0206

y =

-0.0206

y =

0.4316

y =

-0.0206

y =

0.2101

y =

-0.0206

y =

0.0958

y =

-0.0206

y =

0.0379

y =

-0.0206

y =

0.0087

y =

-0.0206

y =

-0.0059

y =

-0.0059

y =

0.0014

y =

-0.0059

y =

-0.0023

y =

-0.0023

y =

-4.3296e-04

y =

-4.3296e-04

y =

4.8123e-04

y =

-4.3296e-04

y =

2.4150e-05

y =

-4.3296e-04

y =

-2.0440e-04

y =

-2.0440e-04

y =

-9.0125e-05

iter =

14

x =

0.5109

deltax =

6.1035e-05

Zad 10.Metodą połowienia znaleźć dodatni pierwiastek równania z dokładnością­ do 10-2.

KOD

a=0;

b=2;

e=0.01;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=x^2-x-1;

ya=a^2-a-1;

yb=b^2-b-1;

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

x

n

WYNIK PROGRAMU

x =

1.6172

n =

8

Zad 11. Metodą połowienia znaleźć wartość zmiennej , dla której przecinają się wykresy funkcji i . Wymagana dokładność obliczeń wynosi 10-4.

KOD

a=0;

b=1;

e=0.0001;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=3*x-exp(x);

ya=3*a-exp(a);

yb=3*b-exp(b);

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

x

n

WYNIK PROGRAMU

x =

0.6191

n =

14

Zad 12. Korzystając z metody połowienia znaleźć najmniejszy dodatni pierwiastek równania:
a) , b) , c) .

KOD

b=1.2;

e=0.000001;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=tan(x)-x-1;

ya=tan(a)-a-1;

yb=tan(b)-b-1;

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

x

WYNIK PROGRAMU

x =

1.1323

b)

KOD

a=0;

b=1;

e=0.000001;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=x^3-x^2-2*x+1;

ya=a^3-a^2-2*a+1;

yb=b^3-b^2-2*b+1;

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

x

WYNIK PROGRAMU

x =

0.4450

c)

KOD

a=0;

b=1;

e=0.000001;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=2*exp(-x)-sin(x);

ya=2*exp(-a)-sin(a);

yb=2*exp(-b)-sin(b);

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

x

WYNIK PROGRAMU

x =

0.9210

WNIOSKI

Wyniki otrzymane powyżej są takie same jak wyniki zawarte w instrukcjach ćwiczenia. Świadczy to o tym, że ćwiczenia zostały wykonane poprawnie. W celu wyznaczenia pierwiastka danego równania musimy stworzyć uprzednio funkcję, którą wykorzystamy w naszym właściwym programie.


Wyszukiwarka

Podobne podstrony:
Układy Napędowe oraz algorytmy sterowania w bioprotezach
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
Tętniak aorty brzusznej algorytm
Algorytmy rastrowe
Algorytmy genetyczne
Teorie algorytmow genetycznych prezentacja
Algorytmy tekstowe
Algorytmy i struktury danych Wykład 1 Reprezentacja informacji w komputerze
ALGORYTM EUKLIDESA
Algorytmy z przykladami tp 7 0
ALGORYT8
5 Algorytmy i schematy blokowe

więcej podobnych podstron