Está en la página 1de 1

f=inline('(1/(x+2))-x^2'); %función f(x)=0

a=0.5; %extremo inferior del intervalo


b=3; %extremo superior del intervalo
m=15; %nro de iteraciones
tol=1e-3; %tolerancia
%inicializar la matriz de resultados
%5 columnas, (índice, punto c, a, b, f(c))
resultado=zeros(1,5); %inicializar una sola fila para ir ampliando
luego
ya=f(a);
yb=f(b);
for k=1:m
c=(a+b)/2;
yc=f(c);
resultado=[resultado;
k c a b yc];
%se carga la matriz ya definida y se van agregando nuevas filas en
cada
%iteracion
if yc*ya>0 %si f(c) y f(a) tienen el mismo signo, a toma el valor de
c
a=c;
ya=yc;
else
b=c;
yb=yc;
end
if (abs(yc)<tol), break, end
if k==m
disp('Se ha excedido el maximo de iteraciones');
end
end
resultado=[resultado(2:end,:);
1234 0 0 0 0];
%ya que la 1era fila es de ceros, se toma desde la 2da fila hasta la
ultima
%para guardar en la martriz final, agregando una fila para nro de CI
resultado

También podría gustarte