Sunteți pe pagina 1din 3

f=get(handles.

edit1,'string');
f=inline(f);
x1=str2double(get(handles.edit2,'string'));
x2=str2double(get(handles.edit3,'string'));
err=str2double(get(handles.edit4,'string'));
erro=100;
xm=0;
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
%Limpiar tabla, grafico en caso de que antes se haya graficado una funcion
hold off cla
set(handles.tabla,'Data',{})
set(handles.respuesta,'string','No hay raiz');
iteracion=0;
if f(x1)*f(x2)<0
while erro>err
iteracion=iteracion+1;
xfa=xm;
xm=(x1+x2)/2;
if f(x1)*f(xm)>0
x1=xm;
else
x2=xm;
end
erro=((xfa-xm)/xm)*100;
if erro<0
erro=erro*-1;
%Mostrara datos en tabla
valores = {iteracion x1 x2 xm erro};
temp=get(handles.tabla,'data');
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)

end
end
% else
set(handles.respuesta,'string','No existe la raiz en el intervalo');
%Mostrando respuesta en textbox con formato coma flotante a 6
cifras decimales
respuesta=sprintf('%0.6f',xm);
set(handles.respuesta,'string',respuesta);
%Grafica de la funcin
hold off handles.axes1=ezplot(f)
; grid on;
hold on;
handles.axes1=plot(xm,subs(f,respuesta),'r*');
zoom on
end

cla %limpiar tabla

set(handles.tabla,'Data',{})
%limpiar textboxs set(handles.edit1,'string','');
set(handles.edit2,'string','');
set(handles.edit3,'string','');
set(handles.edit4,'string','');
set(handles.respuesta,'string','');

3x2 -5x + 10 = 0