metodo bisseccion y regla falsa

15
ESCUELA SUPERIOR DE INGENIERIA MECANICA ELECTRICA ANALISIS NUMERICOS PRACTICA 1: METODOS NUMERICOS BISECCIÓN Y REGLA FALSA ALUMNO: BARRIOS JARA RAFAEL BOLETA:2007300129 GRUPO: 3AV6 PROFESOR: JIMENEZ GUZMAN MIGUEL

description

ESCUELA SUPERIOR DE INGENIERIA MECANICA ELECTRICAANALISIS NUMERICOSPRACTICA 1: METODOS NUMERICOS BISECCIÓN Y REGLA FALSA

Transcript of metodo bisseccion y regla falsa

Page 1: metodo bisseccion  y regla falsa

ESCUELA SUPERIOR DE INGENIERIA MECANICA ELECTRICA

ANALISIS NUMERICOS

PRACTICA 1: METODOS NUMERICOS BISECCIÓN Y REGLA FALSA

ALUMNO: BARRIOS JARA RAFAEL

BOLETA:2007300129

GRUPO: 3AV6

PROFESOR: JIMENEZ GUZMAN MIGUEL

Marco teórico.

Page 2: metodo bisseccion  y regla falsa

Método de bisección.

El método de bisección, conocido también como de corte binario, de partición deintervalos o de Bolzano, es un tipo de búsqueda incremental en el que el intervalo sedivide siempre a la mitad. Si la función cambia de signo sobre un intervalo, se evalúa elvalor de la función en el punto medio. La posición de la raíz se determina situándola enel punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El procesose repite hasta obtener una mejor aproximación. El intervalo donde se localiza la raíz se divide a la mitad en cada paso del proceso, el ancho del intervalo proporcionauna estimación exacta del límite superior del error.

Algoritmo de método de bisección.

Paso 1. Elija valores iniciales inferior, X l, y superior, Xu, que encierran la raiz, de forma ta que la funcion cambie del signo en el intervalo. Esto se verifica comprobando que:

f ( X l ) f ( X u )<0.

Paso 2. Una aproximacion de la raiz, X r se determina mediante: X r=X l +Xu

2.

Paso 3. Realice las siguientes evaluciones para determinar en qué subintervalo está la raíz:

a) Si f ( X l ) f ( X r )<0, entonces la raíz se encuentra dentro del subintervalo inferior o

izquierdo. Por lo tanto, haga Xu=X r y vuelva al paso 2.

b) Si f ( X l ) f ( X r )>0, entonces la raíz se encuentra dentro del subintervalo superior o

derecho. Por lo tanto, haga X l=X r y vuelva al paso 2.

c) Si f ( X l ) f ( X r )=0, la raiz es igual a X r; termina el calcullo.

Criterios de paro y estimaciones de errores.

Ahora se debe desarrollar un criterio objetivo para decidir cuándo debe terminar el método.Una sugerencia inicial sería finalizar el cálculo cuando el error verdadero se encuentre por debajo de algún nivel prefijado. Puede decidirse que el método termina cuando se alcance un error más bajo, por ejemplo, al 0.1%. Dicha estrategia es inconveniente, si la estimación del error se basa en el conocimiento del valor verdadero de la raíz de la función. Éste no es el caso de una situación real, ya que no habría motivo para utilizar el método si se conoce la raíz. Por lo tanto, se requiere estimar el error de forma tal que no se necesite el conocimiento previo de la raíz. Se puede calcular el error relativo porcentual ea de la siguiente manera:

ε a=|X rnuevo−X r

anterior

X rnuevo |100 %

Page 3: metodo bisseccion  y regla falsa

Método de regla falsa.

Aun cuando la bisección es una técnica preferentemente valida para determinar raíces, su método de aproximacion por “fuerza bruta” es relativamente ineficiente. El metodo de regla falsa es una alternativa basada en una visualizacion gráfica.

Un inconveniente del método de bisección es que al dividir el intervalo de X l a Xuen mitades

iguales, no se toman en considerción las magnitudes de f ( X l ) y f ( Xu ). Por ejemplo, si f ( X l ) está

mucho más cercana a cero que f ( Xu ), es lógico que la raíz se encuentre más cerca de X lque de Xu

. Un metodo alternativo que aprovecha esta visualizacion gráfica consiste en unir f ( X l ) y f ( Xu )con

una linea recta. La interseccion de esta linea con el eje de las X representa una mejor aproximacion de la raíz. El echo de que se reemplace la curva por una línea recta de una “falsa posicion” de la raíz; de aquí el nomre de método de la regla falsa. Tambien se le conose como el método de interpolacion lineal.

Usando triangulos semejantes como se muestra en la siguiente figura:

La intersección de la línea recta con el eje X se estima mediante:f ( X l )

X r−X l

=f ( Xu )

X r−Xu

De la cual se despeja X r quedando:

X r=X u−f ( Xu ) ( X l−Xu )f ( X l )−f ( X u )

Ésta es la formula de la regla de la falsa pocision. El valor de X r calculado con la ecuacion anterior,

remplazara, despues, a cualquiera de los dos valores iniciales, X l o Xu, y da un valor de la funcion

con el mismo signo de f ( X r ). De esta manera, los valores de X l y Xu siempre encierran la

verdadera raiz, el proceso se repite hasta que la aproximacion a la raíz sea adecuada. El algoritmo

Page 4: metodo bisseccion  y regla falsa

es identico al de la biseccion excepto en la ecuacion anterior, que se usa en el paso 2. Ademas, se usa el mismo criterio de terminacion para concluir los calculos.

Comparación entre método de bisección y regla falsa.

Se obtiene una idea más completa de la eficiencia de los métodos de bisección y de regla falsa al observar la siguiente figura, donde se muestra el error relativo porcentual verdadero. Se observa como el error decrece mucho más rápidamente en el método de la regla falsa que en el de la bisección, debido a un esquema más eficiente en el método de la regla falsa para la localización de raíces.

En el metodo de biseccion el intervallo entre X l y Xu se va haciendo más pequeño durante los

calculos. Por lo tanto, el intervalo, como se definio por ∆ X

2=|Xu−X l|/2 para la primera

iteracion, proporciona una medida del error en este metodo. Este no es el cao con el metodo de regla falsa, ya que uno de los valores iniciales puede permanecer fijo durante los calculos, mientras que el otro converge hacia la raiz.

Page 5: metodo bisseccion  y regla falsa

Inicio

Elija valores iniciales inferior, , y superior, , y verificar comprobando que:

Diagrama de flujo (bisección y regla falsa).

Bisección.

Fin.

SI

SI

NO

NO

SI

Page 6: metodo bisseccion  y regla falsa

Inicio

Elija valores iniciales inferior, , y superior, , y verificar comprobando que:

Fin.

Regla falsa.

SI

SI

SI

NO

NO

Page 7: metodo bisseccion  y regla falsa

Código de programa.Bisección.

% Programa para cálculo de Raíces de Ecuaciones no Lineales% Método de Bisección % Autor: Miguel Jiménez Guzmán

clear all; % Limpia la memoriaclc; % Limpia la ventana de comandos

% Ingresar la función, intervalo de evaluación y porcentaje de error.

fprintf('\nCálculo de la raíz de una ecuación por el método de Bisección\n\n');

Y=input('Dame la función : ','s');Xa=input('Dame el intervalo inferior : ');Xb=input('Dame el intervalo superior : ');error=input('Dame el porciento del error : ');

% Determinar si en el intervalo entre [Xa,Xb] está comprendida la raíz de la ecuación x=Xa;Ya=eval(Y); % f(Xa)

x=Xb;Yb=eval(Y); % f(Xb)

if (Ya*Yb)>0 fprintf('\n\n No existir una raíz en intervalo [Xa,Xb] \n\n'); fprintf('\Execute de nuevo el programa, por favor.\n\n'); breakend

% Se realizan los cálculos para determinar la raíz en la siguiente sección. fprintf('\n\n')disp(' N XaXbXr F(Xa) F(Xb) F(Xr) Error ');disp('|---|-----------------|------------------|-------------------|-------------------|------------------|--------------------|-----------');

Xant=0; % X anteriorN=0; % Contador de Iteracioneswhile N<50 Xr= (Xa+Xb)/2Xact=Xr; % X actual x=Xr;Yr=eval(Y);

Page 8: metodo bisseccion  y regla falsa

Ea=abs((Xact-Xant)/Xact)*100; % Cálculo del Error

ds_i=sprintf('%4d %17.8g %17.8g %17.8g %17.8g %17.8g %17.8g %10.5g', N, Xa, Xb, Xr, Ya, Yb, Yr, Ea);disp(ds_i);

% Impresión de los Resultados ifEa<error fprintf('\n\n La Raíz Exacta es: %d',Xr) fprintf('\n\n Número de iteraciones: %d \n\n',N);breakend

% Se determina el nuevo intervalo de evaluaciónif (Ya*Yr)<0 Xb=Xr; elseif (Ya*Yr)==0 fprintf('\n\n La raíz exacta es: %17.8g',Xr) fprintf('\n\n Número de iteraciones: %d',N); breakelseXa=Xr;endXant=Xr; N=N+1; end

Regla falsa.

% Programa para cálculo de Raíces de Ecuaciones no Lineales% Método de regla falsa % Autor: Rafael Barrios Jara (Miguel Jiménez Guzmán - Programa original)

clearall; % Limpia la memoriaclc; % Limpia la ventana de comandos

% Ingresar la función, intervalo de evaluación y porcentaje de error.

fprintf('\nCálculo de la raíz de una ecuación por el método de regla falsa\n\n');

Y=input('Dame la función : ','s');Xa=input('Dame el intervalo inferior : ');Xb=input('Dame el intervalo superior : ');error=input('Dame el porciento del error : ');

% Determinar si en el intervalo entre [Xa,Xb] está comprendida la raíz de la ecuación x=Xa;Ya=eval(Y); % f(Xa)

x=Xb;Yb=eval(Y); % f(Xb)

Page 9: metodo bisseccion  y regla falsa

if (Ya*Yb)>0 fprintf('\n\n No existir una raíz en intervalo [Xa,Xb] \n\n'); fprintf('\Execute de nuevo el programa, por favor.\n\n'); breakend

% Se realizan los cálculos para determinar la raíz en la siguiente sección. fprintf('\n\n')disp(' N XaXbXr F(Xa) F(Xb) F(Xr) Error ');disp('|---|-----------------|------------------|-------------------|-------------------|------------------|--------------------|-----------');

Xant=0; % X anteriorN=0; % Contador de Iteracioneswhile N<50 Xr= Xa-((Ya*(Xb-Xa))/(Yb-Ya))Xact=Xr; % X actual x=Xr;Yr=eval(Y);

Ea=abs((Xact-Xant)/Xact)*100; % Cálculo del Error

ds_i=sprintf('%4d %17.8g %17.8g %17.8g %17.8g %17.8g %17.8g %10.5g', N, Xa, Xb, Xr, Ya, Yb, Yr, Ea);disp(ds_i);

% Impresión de los Resultados ifEa<error fprintf('\n\n La Raíz Exacta es: %d',Xr) fprintf('\n\n Número de iteraciones: %d \n\n',N);breakend

% Se determina el nuevo intervalo de evaluaciónif (Ya*Yr)<0 Xb=Xr; elseif (Ya*Yr)==0 fprintf('\n\n La raíz exacta es: %17.8g',Xr) fprintf('\n\n Número de iteraciones: %d',N); breakelseXa=Xr;endXant=Xr; N=N+1; end

Page 10: metodo bisseccion  y regla falsa

Ejecución de los programas.Bisección.

Page 11: metodo bisseccion  y regla falsa

Regla falsa.

Page 12: metodo bisseccion  y regla falsa

Conclusiones.

Bisección.

La ventaja que presenta el método de bisección es que con un intervalo inicial adecuado siempre se llegara a la solución pero realiza demasiadas iteraciones para ello, es un método de convergencia lenta lo que conlleva a que se realicen un mayor número de operaciones y por tanto exista una mayor propagación del error.

La desventaja que presenta el método es que en algunos casos se pueden despreciar valores muy cercanos a la solución sin ser detectado.

Regla falsa.

Este método converge más rápidamente que bisección.

La diferencia entre bisección y regla falsa es la manera de determinar el valor intermedio.

Regla falsa puede llegar a converger como secante, ya que sus formulas son parecidas, siendo más rápido secante.

Se debe garantizar que la función sea continua en el intervalo para aplicar este método.

Siempre mantiene el intervalo en el que esta la raíz, a diferencia de la secante que parte de dos valores iniciales, que no son necesariamente el intervalo donde está la raíz.