


Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
ejercicios del método de biseccion
Tipo: Ejercicios
1 / 4
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Estos apuntes est´an redactados por Maria de los Angeles Isidro P´erez y Egor Maximenko.
Objetivos. Conocer el m´etodo de bisecci´on para resolver ecuaciones no lineales.
Requisitos. Teorema del valor intermedio y elementos de programaci´on: comando If, el ciclo While y la recursi´on (opcional).
( f(a) < 0 y f(b) > 0
o
f(a) > 0 y f(b) < 0
Entonces existe al menos un punto x en el intervalo (a, b) tal que f(x) = 0.
c =
a + b 2
Si f(c) = 0 , entonces ya tenemos una soluci´on. Si f(c) tiene el mismo signo que f(a), entonces f cambia su signo en [c, b], y tiene que existir una ra´ız en este intervalo. Si f(c) tiene el mismo signo que f(b), entonces f cambia su signo en [a, c], y tiene que existir una ra´ız en este intervalo. En los ´ultimos dos casos, hemos reducido el intervalo de busqueda a la mitad: [a, c] o [c, b].
Caso f(a) < 0, f(b) > 0, f(c) < 0
a b
c
a′^ := c, b′^ := b
Caso f(a) < 0, f(b) > 0, f(c) > 0
a c b
a′^ := a, b′^ := c
Caso f(a) > 0, f(b) < 0, f(c) < 0
a
c b
a′^ := a, b′^ := c
Caso f(a) > 0, f(b) < 0, f(c) > 0
a
b c
a′^ := c, b′^ := b
En vez del ciclo While se puede usar la recursi´on. Para no calcular varias veces los valores de la funci´on en un mismo punto vamos a pasar los valores calculados anteriormente como argumentos de la funci´on recursiva.
Funci´on BisectionR(f, a, b, fa, fb, xtol, ytol, maxiter): Vabiables locales: c, fc; c := (a + b) / 2; fc := f(c); Si (abs(c - a) < xtol) o (abs(fc) < ytol) o (maxiter <= 1): Regresar (c, 1); En otro caso: Si sign(fc) * sign(fa) < 0: (c, i) := BisectionR(f, a, c, fa, fc, xtol, ytol, maxiter - 1); En otro caso: (c, i) := BisectionR(f, c, b, fc, fb, xtol, ytol, maxiter - 1); Regresar (c, i + 1);
Funci´on BisectionRecur(f, a, b, xtol, ytol, maxiter): Variables locales: fa, fb; fa := f(a); fb := f(b); Si sign(fa) * sign(fb) > 0: Regresar (a, -1); En otro caso: Regresar BisectionR(f, a, b, f(a), f(b), xtol, ytol, maxiter);