Está en la página 1de 3

bisec.

m
function r=bisec(nombre,x1,x2)
%ELABORA LA GRGICA EN LA REGIN PROPUESTA
fplot(nombre,[x1,x2])
hold on
itmax=100;
tol=0.0001;
iter=0;
ea=10;
%SE IMPRIME EN PANTALLA
fprintf('\tIteracin \t\tx1 \t\t\tx2 \t\t\traz \t\tError')
r=x1;
f1=feval(nombre,x1);
for iter=1:itmax
xm=(x1+x2)/2;
fm=feval(nombre,xm);
if (xm~=0)
ea=abs((xm-r)/xm)*100;
end
prueba=f1*fm;
if (prueba<0)x2=xm;
elseif prueba>0;
x1=xm;
f1=feval(nombre,x1);
else
ea=0;
end
r=xm;
%SE IMPRIME EN PANNTALLA
fprintf('\n %10i %10.4f %10.4f %10.4f
%10.4f',iter,x1,x2,r,ea)
if (ea<tol)
break;
end
end
%SE AGREAGA LA RAIZ A LA SOLUCIN
plot(r,0,'o')
xlabel('X')
ylabel('f(X)')
grid

ejem21.m

function f=ejem21(x)
f=cos(x)-3.*x;

>> x=bisec('ejem21',-pi,pi)
Iteracin x1 x2 raz
Error
1 0.0000 3.1416 0.0000 10.0000
2 0.0000 1.5708 1.5708 100.0000
3 0.0000 0.7854 0.7854 100.0000
4 0.0000 0.3927 0.3927 100.0000
5 0.1963 0.3927 0.1963 100.0000
6 0.2945 0.3927 0.2945 33.3333
7 0.2945 0.3436 0.3436 14.2857
8 0.2945 0.3191 0.3191 7.6923
9 0.3068 0.3191 0.3068 4.0000
10 0.3129 0.3191 0.3129 1.9608
11 0.3160 0.3191 0.3160 0.9709
12 0.3160 0.3175 0.3175 0.4831
13 0.3160 0.3168 0.3168 0.2421
14 0.3164 0.3168 0.3164 0.1212
15 0.3166 0.3168 0.3166 0.0606
16 0.3167 0.3168 0.3167 0.0303
17 0.3167 0.3168 0.3167 0.0151
18 0.3167 0.3168 0.3167 0.0076
19 0.3167 0.3168 0.3168 0.0038
20 0.3167 0.3168 0.3167 0.0019
21 0.3167 0.3168 0.3168 0.0009
22 0.3168 0.3168 0.3168 0.0005
23 0.3168 0.3168 0.3168 0.0002
24 0.3168 0.3168 0.3168 0.0001
25 0.3168 0.3168 0.3168 0.0001
x=

0.3168

También podría gustarte