Bisección Iterativa.

Para encontrar las raíces de una función se puede utilizar el método de la bisección, el cuál consiste en evaluar una función en dos valores distintos (un intervalo), y este se divide entre dos, Si la función cambia de signo sobre un intervalo, se evalúa el valor de la función en el punto medio. Más info.

Este método es programable de manera iterativa, mientras la función evaluada en los dos valores del intervalo sea diferente de cero el programa vuelve a iterar, reduciendo el intervalo a la mitad.

Diagrama de flujo:

Este programa en particular está en C++ y hasta el momento de esta publicación no tiene manera de verificar si la función dada es una tal que se pueden encontrar sus raíces por medio de este método. El programa recibe como input dos numero (el intervalo de donde va a buscar la raíz).

Código:

.

Pruebas:

Con parametros 0.5 y 1.5:


Con parametros -5 y 5:



Para este método no se pueden encontrar las raíces con funciones y/o parámetros en los que al evaluarlos en la función no haya cambios de signo.

Ejemplo de casos de error:

Con la función x^4 + 2x^3 - 3x^2 + 4x - 4 y parámetros -5 y 5:

Para este programa en particular el resultado de "la raíz es: 0, La consigue en 1 iteración(es)." indica un caso de error, ya que la función real no tiene esa raíz. Lamentablemente, en el momento de la creación de esta entrada de blog,  el programa no contaba con una forma más clara de indicar casos de error.

Otro ejemplo de un caso de error:

Con la función x^3 + 5x^2+ 2 y los parámetros -2 y 2:


Conclusión:

El método de la bisección es un método sencillo y rápido para encontrar las raíces de una función, pero es poco práctico debido a la cantidad de funciones y parámetros con los que este método no es compatible.



No hay comentarios:

Publicar un comentario