Вы находитесь на странице: 1из 2

CODIGO MATLAB MTODO BISECCIN INPUT

%METODO DE BISECCION
clc %permite borrar el area de trabajo
clear
%permite borrar las variables almacenadas
%Permite limpia la ventana de command windows
fprintf (' MTODO DE BISECCIN\n\n\n');
%fprintf me permite ingresar comentarios de manera textual que pueden
%orientar al usuario en el uso del programa
format long
%format long permite utilizar la mxima capacidad del computador
Xi=input ('Ingrese el limite inferior del intervalo\n');
Xs=input ('\nIngrese el limite superior del intervalo\n');
Tol=input ('\nIngrese la tolerancia deseada\n');
Iter=input ('\nIngrese el nmero de iteraciones\n');
Fun=input ('\nIngrese la funcin entre comillas simples\n');
%input es un comando de solicitud de entrada de datos del usuario.
f=inline (Fun);
%El comando inline permite hacer la asignacin posterior de variables
%en una funcin.
Yi=f(Xi);
Ys=f(Xs);
%La sentencia if tiene como funcin evaluar condiciones, que en caso
%de ser verdadera se procede a realizar ciertos pasos, de lo contrario
%se procede a realizar otros, por medio de la funcion else.
if Yi==0
fprintf('\n\nSOLUCION:\n')
fprintf('Xi es raz\n\n');
else
if Ys==0
fprintf('\n\nSOLUCION:\n')
fprintf('Xs es raz\n\n');
else
if Yi*Ys<0
Xm=(Xi+Xs)/2;
Ym=f(Xm);
Error=Tol+1;
Cont=1;
Z=[Cont,Xi,Xs,Xm,Ym,Yi*Ym,Ym*Ys,Error];
%Z es una matriz la cual permitira observar lo datos como una tabla a
%la finalizacion del programa
%La sentencia While ejecuta todas las rdenes mientras la expresin
%sea verdadera.
while Ym~=0 & Error>Tol & Cont<Iter
if Yi*Ym<0
Xs=Xm;
Ys=Ym;
else
Xi=Xm;
Yi=Ym;

end
Xaux=Xm;
Xm=(Xi+Xs)/2;
Ym=f(Xm);
Error=abs(Xm-Xaux);
Cont=Cont+1;
Z(Cont,1)=Cont;
Z(Cont,2)=Xi;
Z(Cont,3)=Xs;
Z(Cont,4)=Xm;
Z(Cont,5)=Ym;
Z(Cont,6)=Yi*Ym;
Z(Cont,7)=Ym*Ys;
Z(Cont,8)=Error;
%las z son las posiciones asignadas en la tabla a los resultados que
%se observarn
end
if Ym==0
fprintf('\n\nSOLUCION:\n')
fprintf('%g es raz\n\n',Xm);
else
if Error<Tol
fprintf('\n\nSOLUCION:\n')
fprintf( '%g es una aproximacion a una raz con una tolerancia %g
\n\n',Xm,Tol);
else
fprintf('\n\nSOLUCION:\n')
fprintf('Fracaso en %g iteraciones\n\n',Iter);
end
end
else
fprintf('\n\nSOLUCION:\n')
fprintf('El intervalo es inadecuado\n\n');
end
end
end
fprintf('TABLA\n\nIteraciones Xi Xs Xm Ym Yi*Ym\n\nYm*Ys
Error Absoluto\n\n');
disp(Z);
%La funcion disp permite visualizar la tabla, obtenida de los
%resultados de la secuencia while
ezplot(f);
%El comando ezplot permite grafica una funcin.
grid on
%grid on permite observar una cuadricula en la grafica de la funcin.

Вам также может понравиться