4.metodo de la biseccion
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

4.metodo de la biseccion

on

  • 13,898 views

 

Statistics

Views

Total Views
13,898
Views on SlideShare
13,812
Embed Views
86

Actions

Likes
6
Downloads
216
Comments
0

1 Embed 86

http://adivirtual.unefm.edu.ve 86

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

4.metodo de la biseccion Document Transcript

  • 1. 223 RAÍCES REALES DE ECUACIONES NO-LINEALESSea f: R→R. Dada la ecuación f(x) = 0, se debe encontrar un valor real r tal que f(r) = 0.Entonces r es una raíz real de la ecuaciónSi no es posible obtener la raíz directamente, entonces se debe recurrir a los métodos numéricositerativos para calcular r en forma aproximada con alguna precisión controlada. Se han creadomuchos métodos numéricos para resolver este problema clásico, pero con el uso decomputadoras para el cálculo, conviene revisar solamente algunos de estos métodos que tengancaracterísticas significativamente diferentes.3.1 Método de la bisecciónSea f: R→R. Suponer que f es continua en [a, b], y que además f(a) y f(b) tienen signosdiferentes. Por continuidad, el intervalo (a, b) contendrá al menos una raíz real.El siguiente teorema establece la existencia de la raíz r:Teorema de Bolzano: Si una función f es continua en un intervalo [a, b] y f(a) tiene signodiferente que f(b), entonces existe por lo menos un punto r en (a, b) tal que f(r)=0.Si además f(x) no cambia de signo en el intervalo [a, b], entonces la solución es única.El método de la bisección es un método simple y convergente para calcular r. Consiste encalcular el punto medio c=(a+b)/2 del intervalo [a, b] y sustituirlo por el intervalo [c, b] ó [a, c]dependiendo de cual contiene a la raíz r. Este procedimiento se repite hasta que la distanciaentre a y b sea muy pequeña, entonces el último valor calculado c estará muy cerca de r.Interpretación gráfica del método de la bisecciónEn la figura se puede observar que luego de haber calculado c, para la siguiente iteración debesustituirse el intervalo [a, b] por [c, b] debido a que f(a) y f(c) tienen igual signo y por lo tanto laraíz estará en el intervalo [c, b]3.1.1 Convergencia del método de la bisecciónSean ai, bi, ci los valores de a, b, c en cada iteración i=1, 2, 3, . . . respectivamenteEl método de la bisección genera una sucesión de intervalos [a, b], [a1, b1], [a2, b2], …, [ai, bi]tales que a ≤ a1 ≤ a2 … ≤ ai constituyen una sucesión creciente y b ≥ b1 ≥ b2 …, ≥ bi unasucesión decreciente con ai < bi. Además por definición del método: ci, r ∈ [ai, bi] en cadaiteración i
  • 2. 23Sean di = bi – ai longitud del intervalo [ai, bi] en la iteración i=1, 2, 3, . . . d = b – a longitud del intervalo inicialRecorrido de las iteraciones Iteración Longitud del intervalo 1 d1 = d /2 2 2 d2 = d1/2 = d/2 3 3 d3 = d2/2 = d/2 4 4 d4 = d3/2 = d/2 ... ... i i di = d/2Entonces d → 0 ⇒ di → 0 ⇒ ai → bi ⇒ ci → r ⇒ ∃i>0 | ci − r |< ε para cualquier valor positivo ε 2i i→∞ i→∞ i→∞i→∞Suponer que se desea que el último valor calculado ci tenga precisión E = 0.001, entonces si elalgoritmo termina cuando bi – ai < E, se cumplirá que |ci – r| < E y ci será una aproximaciónpara r con un error menor que 0.0001Ejemplo. Calcule una raíz real de f(x) = x e - π = 0 en el intervalo [0, 2] con precisión 0.01 xLa función f es continua y además f(0)<0, f(2)>0, por lo tanto la ecuación f(x)=0 debe conteneralguna raíz real en el intervalo [0, 2]Cálculo manual para obtener la raíz con el método de la Bisección iteración a b c sign(f(a)) sign(f(c)) inicio 0 2 1 - - 1 1 2 1.5 - + 2 1 1.5 1.25 - + 3 1 1.25 1.125 - + 4 1 1.125 1.0625 - - 5 1.0625 1.125 1.0938 - + 6 1.0625 1.0938 1.0781 - + 7 1.0625 1.0781 1.0703 - - 8 1.0703 1.0781 1.0742En la última iteración se observa que el intervalo que contiene a la raíz se ha reducido a[1.0703, 1.0781], por lo tanto el último valor calculado de c = 1.0742 debe estar cerca de r conuna distancia no mayor a 0.01
  • 3. 243.1.2 Eficiencia del método de la bisecciónSuponer el caso más desfavorable, en el que r está muy cerca de uno de los extremos delintervalo [a, b]:Sean Ei = r − ci : error en la iteración i Ei+ 1= r − ci+ 1 : error en la iteración i+1En cada iteración la magnitud del error se reduce en no más de la mitad respecto del error en la 1iteración anterior: Ei+ 1 ≤ Ei . Esta es una relación lineal. Con la notación O( ) se puede escribir: 2 Ei+ 1 = O(Ei ) . Entonces, el método de la Bisección tiene convergencia lineal o de primer orden.Se puede predecir el número de iteraciones que se deben realizar con el método de la Bisecciónpara obtener la respuesta con una precisión requerida E: iEn la iteración i: di = d/2Se desea terminar cuando: di < E iEntonces se debe cumplir d/2 < E log(d / E)De donde se obtiene: i> log(2)Ejemplo. La ecuación f(x) = x e - π = 0 tiene una raíz real en el intervalo [0, 2]. Determine xcuantas iteraciones deben realizarse con el método de la bisección para obtener un resultadocon precisión E=0.0001.El número de iteraciones que deberán realizarse es: i > log(2/0.0001)/log(2) ⇒ i >14.287 ⇒ 15 iteraciones3.1.3 Algoritmo del método de la bisecciónCalcular una raíz r real de la ecuación f(x) = 0 con precisión E.f es contínua en un intervalo [a, b] tal que f(a) y f(b) tienen signos diferentes 1) Elija el intervalo inicial [a, b] 2) Calcule el punto central del intervalo: c=(a+b)/2 3) Si f(c)=0, c es la raíz y termine 4) Si la raíz se encuentra en el intervalo [a, c], sustituya b por c 5) Si la raíz se encuentra en el intervalo [c, b] sustituya a por c 6) Repita los pasos 2), 3), 4), 5) hasta que la longitud del intervalo [a,b] sea menor que E.El último valor calculado c estará aproximadamente a una distancia E de la raíz r.
  • 4. 253.1.4 Instrumentación computacional del método de la bisecciónCalcular una raíz r real de la ecuación f(x) = 0. f es contínua en un intervalo [a, b] tal que f(a) yf(b) tienen signos diferentesPara instrumentar el algoritmo de este método se escribirá una función en MATLAB. El nombreserá bisección. Recibirá como parámetros f, a, b, y entregará c como aproximación a la raíz r.Criterio para salir: Terminar cuando la longitud del intervalo sea menor que un valor pequeño eespecificado como otro parámetro para la función. Entonces el último valor c estaráaproximadamente a una distancia e de la raíz r. function c = biseccion(f, a, b, e) while b-a >= e c=(a+b)/2; if f(c)==0 return else if sign(f(a))==sign(f(c)) a=c; else b=c; end end endEjemplo. Desde la ventana de comandos de MATLAB, use la función bisección para calcular xuna raíz real de la ecuación f(x) = xe - π = 0. Suponer que se desea que el error sea menorque 0.0001.Por simple inspección se puede observar que f es continua y además f(0) < 0, f(2) > 0. Por lotanto se elije como intervalo inicial: [0, 2]. También se puede previamente graficar f.En la ventana de comandos de MATLAB se escribe: >> syms x >> f = x*exp(x)-pi; >> c = biseccion(inline(f), 0, 2, 0.0001) c= 1.073669433593750 Este es el resultado calculado >> subs(f,x,c) Al evaluar f(c) se obtiene un valor cercano a 0 ans = 6.819373368882609e-005En algunas versiones de MATLAB, la función inline requiere que la expresión matemática estédefinida como cadena de texto. Se puede usar la función char para convertir de tipo simbólicomatemático a cadena de caracteres. Ej. >> c=biseccion(inline(char(f)), 0, 2, 0.0001)
  • 5. 26Ejemplo. Encontrar las intersecciones en el primer cuadrante de los gráficos de las funciones: xf(x) = 4 + cos(x+1), g(x)=e sen(x).Primero se grafican las funciones para visualizar las intersecciones:>> syms x>> f=4+x*cos(x+1);>> g=exp(x)*sin(x);>> ezplot(f,[0,3.5]),grid on,hold on>> ezplot(g,[0,3.5]) e p( ) s ( ) 8 6 4 2 0 -2 -4 -6 0 0.5 1 1.5 2 2.5 3 3.5 xLas intersecciones son las raíces de la ecuación h(x) = f(x) – g(x) = 0El cálculo de las raíces se realiza con el método de la Bisección con un error menor a 0.0001>> h=f-g h= x*cos(x + 1) - exp(x)*sin(x) + 4>> c=biseccion(inline(h),1,1.5,0.0001) c= 1.233726501464844>> c=biseccion(inline(h),3,3.2,0.0001) c= 3.040667724609375