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?
Program:
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.
Program:
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 .
Program:
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