algorytmy 2

Uniwersytet Warmińsko – Mazurski w Olsztynie

Wydział Nauk Technicznych

Mechatronika

ALGORYTMY I METODY NUMERYCZNE

Ćwiczenie Nr 3

ROZWIĄZYWANIE NIELINIOWYCH RÓWNAŃ ALGEBRAICZNYCH

Wykonał:

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?

a=1;

b=2;

e=0.0001;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=x^2-2;

ya=a^2-2;

yb=b^2-2;

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

Wynik:

x=1,4142

n=13

Trzynaście iteracji daje wynik 1,4142. Maksymalny błąd w każdym kroku, określony jako różnica między dwiema ostatnimi iteracjami, jest równy . Dla 13 mamy (1/2)13 0,0001.

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

a=-2;

b=1;

e=0.0001;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=x^3-x+1;

ya=a^3-a+1;

yb=b^3-b+1;

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

Wynik:

x=-1,3248 = 1,3247421

n=15

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

a=0;

b=1;

e=0.5e-4;

x1=(a+b)/2;

n=0;

while (abs(b-a)>e)

n=n+1;

x=(a+b)/2;

y=sin(x)+x-1;

ya=sin(a)+a-1;

yb=sin(b)+b-1;

if y~=0

if ya*y<0

b=x;

yb=y;

else a=x;

ya=y;

end

else

break

end

end

Wynik:

x=0,5110

n=14 14 iteracji.

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

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

Wynik:

x=1,62

n=8

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

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

Wynik:

x=0,6191 x = 0,6191

n=14

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

a)

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

Wynik:

1,132268 . x= 1,13226773

n=21

b)

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

Wynik:

x=0,4450 x = 0,4450

n=20

c)

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

Wynik:

x=0,921025 x = 0,92102480

n=20


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