Anda di halaman 1dari 12

INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ

Ingeniera Elctrica

Mtodos Numricos
MC. Mario Alberto de la Cruz Padilla

MTODO DE LA BISECCIN CON MATLAB


Manual del usuario
Por: Beltrn Gutirrez Julio Sinuh Jimnez Morales Rodolfo Lara Jimnez Jos David Robles Gonzlez Antonio de Jess Snchez Alegra Avisa.

Tuxtla Gutirrez, Chiapas; a 28 de Febrero de 2011.

CLCULO DE LA RAZ DE UNA ECUACIN POR EL MTODO DE LA BISECCIN USANDO MATLAB.


Se realiz un programa en MATLAB que nos permitir conocer la raz de una ecuacin no lineal empleando el mtodo de la biseccin. Al iniciar, el programa nos pedir introducir una ecuacin no lineal en funcin de la variable x. Escribimos la ecuacin y presionamos ENTER.

Despus de esto se mostrara en pantalla la grfica de dicha funcin. Ser necesario detectar un punto de corte de la grfica en el eje x (visualizar una posible raz).

En seguida, en se solicitar un valor al lado izquierdo del punto de corte.

Posteriormente le solicitara un valor a la derecha del punto de corte. En ambos casos la grfica se proporcion con el fin de que se elijan valores adecuados.

En seguida se mostrara un men con dos opciones, esto para detener el proceso al alcanzar cierto porcentaje de error o por el nmero de iteraciones que el usuario desee.

Deber elegir una de estas dos opciones: Al teclear 1 la raz se aproximar por cierto porcentaje de error, y tecleando 2 se calcular por cierto nmero de iteraciones.

Si se elige la opcin 1 el programa le pedir introducir un porcentaje de error deseado. Al llegar a este porcentaje el programa detendr las operaciones y mostrara en pantalla una tabla de los clculos realizados por este mtodo y debajo de sta una aproximacin de la raz.

Si se elige la opcin 2 el programa solicitara el nmero de iteraciones que desea realizar para obtener la raz.

Al final del proceso, el programa solicitar que se elija una opcin: si desea calcular la raz de otra ecuacin debe elegir la opcin 1, de lo contrario elegir 2 para salir y regresar a la pantalla de comandos.

CDIGO DE PROGRAMACIN EN MATLAB:


fprintf('\nCLCULO DE LA RAZ DE UNA ECUACIN NO LINEAL POR EL MTODO DE LA BISECCIN\n\n'); syms x; f=input('Escriba la Funcin f(x)= ','s'); ezplot(f); grid on; fprintf('\nSe gener la grfica de la funcin, revsela\n'); fprintf('\n::: Visualice un punto de corte de la grfica de la funcin con el eje x :::\n\n'); x0=input('Deme un valor a la izquierda del punto de corte: '); x1=input('\nDeme un valor a la derecha del punto de corte: '); fprintf('\n\nDesea detener el proceso... '); fprintf('\n\n 1 Al alcanzar cierto porcentaje de error'); fprintf('\n 2 Por el nmero de iteraciones'); opcion=input('\n\nIntroduzca 1 2: '); switch opcion case 1 e=input('\n\nPorcentaje de error deseado: '); ni=0; et=100; fprintf('\n ::::::::::::::: TABLA ::::::::::::::: \n'); fprintf('\n Iteracin x0 xm x1 f(x0) f(xm) f(x1) Error \n\n'); while et>e xm=(x0+x1)/2; x=x0; fx0=eval(f); x=x1; fx1=eval(f); x=xm; fxm=eval(f); et=abs((x1-x0)/x1)*100; disp([ni,x0,xm,x1,fx0,fxm,fx1,et]) if fx0*fxm<0 x1=xm; end if fx0*fxm>0 x0=xm; end ni=ni+1; end if et<e fprintf('\n>>> La raz aproximada es: \n'); fprintf(' x= %d\n\n',xm) end m=input('Desea calcular la raiz de otra ecuacin, si(1) no(2):'); if(m==1); clc; clear all; close all; BISECCION

else clc; clear all close all; break end case 2 n=input('\n\nNmero de iteraciones: '); ni=0; fprintf('\n ::::::::::::::: TABLA ::::::::::::::: \n'); fprintf('\n Iteracin x0 xm x1 f(x0) f(x1) Error \n\n'); for i=1:n+1 xm=(x0+x1)/2; x=x0; fx0=eval(f); x=x1; fx1=eval(f); x=xm; fxm=eval(f); et=abs((x1-x0)/x1)*100; disp([ni,x0,xm,x1,fx0,fxm,fx1,et]) if fx0*fxm<0 x1=xm; end if fx0*fxm>0 x0=xm; end ni=ni+1; if ni==n fprintf('\n>>> La raz aproximada es: \n'); fprintf(' x= %d\n\n',xm); break end end m=input('Desea calcular la raiz de otra ecuacin, si(1) no(2);'); if(m==1); clc; clear all; close all; BISECCION else clc; clear all close all; break end otherwise fprintf ('\n\nOpcin no vlida, VUELVA A CORRER EL PROGRAMA!!!\n\n'); end

f(xm)

Anda mungkin juga menyukai