METODOS NUMERICOS METODO DE BISECCION EQUIPO: CHRISTIAN BERENICE MOLINAR ALANIS JOSE DIEGO ZIGA PAYAN RICARDO OLIVARES GARCIA CARLOS AGUSTIN GARCIA
REPORTE
Nombre de los integrantes: Christian Berenice Molinar Alans Ricardo Olivares Garca Jos Diego Ziga Payan Carlos Alfredo Agustn Garca Nombre del Curso: Mtodos Numricos
Matricula: 09111064 09111085 09111175 09110911 Nombre del Profesor: Mara Leonor Castaeda Herrera
Fecha: 28 de septiembre de 2012 Bibliografa: (S.A)(S.F) recuperado de http://espanol.answers.yahoo.com/question/index?qid=20070709063856AAx8AMc (S.A)(S.F) recuperado de http://metodosnumericos.webatu.com/22metododebiseccion.html Richard L Burden, J. Douglas Faires (2000), "Numerical Analysis, (7th Ed)", Brooks/Cole
Objetivo: Que los alumnos puedan resolver una ecuacin, encontrando su raz exacta utilizando un mtodo numrico de los que fueron vistos en clase.
28 DE SEPTIEMBRE DE 2012
REPORTE
Introduccin.
Como podemos ver, los mtodos numricos son tcnicas meramente algebraicas y aritmticas, con la cual se intenta resolver de forma aproximada ecuaciones o sistemas de ecuaciones complejas, que analticamente resultaran difciles e incluso imposibles de resolver. Existen varios mtodos numricos para la resolucin de ecuaciones complejas, uno de los mtodos mas sencillos es el de mtodo de biseccin, el cual se explicara a continuacin en este reporte.
28 DE SEPTIEMBRE DE 2012
REPORTE
Si bien la puesta en marcha de este mtodo es muy fcil de llevar a cabo, el nmero de clculos que se debe realizar para alcanzar la precisin deseada suele ser muy elevado. Por lo que para encontrar la solucin de una ecuacin compleja puede tomas hasta n iteraciones, por lo que al tratar de hacerlo manualmente seria tedioso, por lo que con ayuda de un programa basado en este mtodo es ms sencillo de encontrar el valor aproximado. Para el nmero de iteraciones se tiene esta ecuacin, el proceso se repite hasta mejorar la aproximacin:
28 DE SEPTIEMBRE DE 2012
REPORTE
Paso 2: Se eligen los valores iniciales [Xa,Xb] de tal forma de que la funcin cambie de signo: f(Xa)f(Xb) < 0. Como vemos en la grafica, la parbola cruza pro dos puntos en el eje X, es decir que hay dos races las cuales debemos de encontrar con el mtodo de biseccin. Los primeros dos intervalos de la ecuacin serian [0,1] y el siguiente intervalo seria [4,5]. Se seleccionaron estos dos intervalos por que la grafica entre esos dos puntos cambia de positivo a negativo en el punto [0,1] y de negativo a positivo en el punto [4,5]. Esto no quiere decir que con estos dos intervalos exactos de la raz, si no que son los posibles para encontrar el resultado por un mtodo analtico.
28 DE SEPTIEMBRE DE 2012
REPORTE Paso 3: Para el siguiente paso es el uso de las iteraciones, por lo que en estas graficas el numero de iteraciones de cada raz es de 14 y 15, por lo que hacerlas manualmente seria tardado, debido a esto se realizo el siguiente cdigo en C++ para resolver este problema. Cdigo del Programa. #include<iostream>//lib inicio #include<math.h>//lib matematicas using namespace std; //inicio del codigo double f(double x)//declaramos una funcion con una variable f(x) {return (pow(x,2)-5*x +2);} //la funcion a graficar es: x^2-5x + 2, cabe resaltar que los intervalos por donde pasa //se pueden cambiar ya sea de [0,1] o tambien [4,5] ya que cruza por 2 puntos main() { double a=0.0,b=1.0,c,tol=0.0001; //en esta seccion van los intervalos, una variable q es c=punto medio //y el nivel de tolerancia de los decimales del resultado int i=1 ; if (f(a)*f(b)<0) { c=(a+b)/2.0;//valor medio cout<<" METODO DE BISECCION "<<endl; cout<<"\t"<<"-------------------------------------------------------------------------------"<<endl; cout<<"\t"<<"-------------------------------------------------------------------------------"<<endl; cout<<"\t"<<"#it"<<"\t"<<"\t"<<"\t"<<"V.a"<<"\t"<<"\t"<<"\t"<<"V.b"<<"\t"<<"\t"<<"\t"<<"p. m"<<"\t"<<endl; cout<<"\t"<<"-------------------------------------------------------------------------------"<<endl; cout<<"\t"<<"-------------------------------------------------------------------------------"<<endl<<endl; while ((b-a)>tol)//si la resta de las variables es mayor ala tolerancia { if (f(a)*f(c)<0)//condicion de la biseccion, si la multiplicacion de a con el p.m. es menor, b pasa a ser el p.m { b=c; c=(a+b)/2.0; }
28 DE SEPTIEMBRE DE 2012
REPORTE else if (f(b)*f(c)<0) //condicion de la bisecion.si la multiplicacion de b con el p.m. es menor, a pasa a ser el p.m { a=c; c=(a+b)/2.0; } cout<<"\t"<<i<<"\t"<<"\t"<<"\t"<<a<<"\t"<<"\t"<<"\t"<<b<<"\t"<<"\t"<<"\t"<<c<<"\t"<<"\t"< <endl; i=i+1;//numero de las iteraciones } } else if (f(a)*f(b)==0)//condicion de la biseccion { if(f(a)==0)//si a es igual a cero cout<<" a es una raiz de la funcion "<<endl; else //si b es igual a cero cout<<" b es una raiz de la funcion "<<endl; } else cout<<"no hay raiz en el intervalo "<<endl; system("PAUSE");//pausa el programa para analizar los datos return EXIT_SUCCESS;//finalizar } Mostrando la Imagen de compilador podemos ver la respuesta del intervalo [0,1].
Las respuestas para cada raz serian las siguientes: Intervalo [0,1] El valor aproximado de la raz es de 0.4344 con un total de 14 iteraciones para encontrar la respuesta Intervalo [0,1] El valor aproximado de la raz es de 4.56155 con un total de 14 iteraciones para encontrar la respuesta.
28 DE SEPTIEMBRE DE 2012
REPORTE
Conclusin.
Al tratar de resolver ecuaciones, en las cuales su resultado es complicado de obtener por un mtodo analtico, el mtodo de biseccin es uno de los mas sencillos de comprender, puesto que solo se necesita tener la grafica de la ecuacin, que puede ser obtenida por algn programa que se encuentre en internet, y tener un compilador que haga este tipo de iteraciones y listo, se obtiene de manera rpida el valor aproximado de la ecuacin. En este caso se uso una ecuacin cuadrtica, con lo que se pude encontrar la solucin de sus races tanto de manera analtica, como por el mtodo de biseccin.
28 DE SEPTIEMBRE DE 2012