Está en la página 1de 36

Análisis Numérico

Informe No. 2
“Raíces de ecuaciones”

Integrantes:
 Corona Viveros Omar Andrés.
 Martínez Romero Wendi Yazmin.
 Morales García Jessica Jazmín.
 Munguía Cruz Marcelo David.
 Peña Hidalgo Brandon.

Grupo: 4CM13

Profesor: Turriza Pinto José Luis

Página 1 de 36
Índice.
 2.1 Introducción.
- 2.1.1 Teorema fundamental del Álgebra.
- 2.1.2 Regla de los signos de los signos de Descartes.
 2.2 Métodos para encontrar raíces reales.
- 2.2.1 Bisección
- 2.2.2 Punto Fijo (Regla Falsa).
- 2.2.3 Newton – Raphson.
 Programas (código)
- Bisección
- Punto Fijo
- Newton-Rapshon

Página 2 de 36
2.1 Introducción.
Con la ayuda de diferentes fuentes de información (libros y páginas web), daremos a conocer los diferentes
métodos numéricos que nos serán de utilidad para un valor que se aproxime a la raíz (solución) de una
ecuación de un grado mayor.
Las raíces reales de una ecuación son los valores que adquiere la variable independiente 𝑥, para satisfacer la
igualdad: 𝑓(𝑥) = 0
Existen dos tipos de aproximaciones para localizar los valores de las raíces. La primera, presupone el
conocimiento de un intervalo que encierra el valor de la raíz, lo que garantiza la convergencia del método. La
segunda incluye aquellos métodos en los que a partir de uno o más valores iniciales se busca un acercamiento
hacia la raíz. Los métodos del segundo grupo, son generalmente más rápidos, pero no siempre garantizan la
localización de la raíz, ya que bajo ciertas condiciones el proceso se vuelve divergente.
Describiremos los métodos que aprovechan el hecho de que típicamente una función cambia de signo en el
intervalo que encierra a la raíz. Por lo que, al analizar el cambio de signo de la función en un intervalo, se
puede garantizar la existencia de una raíz. Para desarrollar los algoritmos de estos métodos, se requiere de
dos valores iniciales (extremos del intervalo) entre los cuales se localiza la raíz.
Uno de los métodos más sencillos de búsqueda de raíces, por medio de la aplicación de algoritmos numéricos,
es el método de la bisección. Este método consiste en tomar un intervalo de valores donde al evaluar la función
en los extremos se presenta el cambio de signo, con lo cual se asegura que exista una raíz por lo menos dentro
del intervalo.1
Antes de la llegada de las computadoras digitales se disponía de una serie de métodos para encontrar las raíces
de ecuaciones algebraicas y trascendentes. En algunos casos, las raíces se obtenían con métodos directos. Sin
embargo, existen ecuaciones como ésta que se resuelven directamente y aparecen muchas más en las que no
es posible encontrar su solución. Por ejemplo, incluso una función tan simple como 𝑓(𝑥) = 𝑒 −𝑥 − 𝑥 no se
puede resolver en forma analítica. En tales casos, la única alternativa es una técnica con solución aproximada.
Un método para obtener una solución aproximada consiste en graficar la función y determinar dónde cruza el
eje de las x. Estos métodos fortuitos, evidentemente, son ineficientes e inadecuados para las exigencias de la
ingeniería. Las técnicas descritas en a continuación no sólo aproximan sino que emplean estrategias
sistemáticas para dirigirse a la raíz verdadera.2

1
https://es.slideshare.net/Tensor/raices-de-ecuaciones-metodos-nmericos
2
“Métodos Numéricos para Ingenieros” de Steven C. Chapra y Raymond P. Canale, Editorial: McGraw-Hill, Quinta Edición
Página 3 de 36
2.1.1 Teorema fundamental del Álgebra
A manera de introducción los primitivos estudios (circa 800 d.C.) llevados a cabo por al-Khwarizmi sólo
buscaban raíces reales positivas y el FTA no tenía sentido. Cardano fue el primero en darse cuenta que uno
podía trabajar con cantidades más generales que los números reales. El descubrimiento lo hizo trabajando
para hallar las raíces de una cúbica. Esos métodos aplicados a la ecuación x^3 = 15x + 4 dieron una respuesta
que implicaban la raíz cuadrada de -121, Cardano sabía que la ecuación tenía a x = 4 como raíz y fue capaz de
manipular con números complejos (aunque no acababa de entender el porqué) hasta hallar la solución
correcta. Bombelli, en su Algebra, publicado en 1572, dio unas reglas para manipular estos nuevos números.
Descartes en 1637, dijo que uno puede imaginar para cada ecuación de grado n, n raíces pero que estas n raíces
podían no corresponder con cantidad real alguna. Vieta dio ecuaciones de grado n con n raíces. Pero no afirmó
que fueran complejos; o sea, números de la forma a + bi, a, b reales, permitiendo la posibilidad de cuerpos
más grandes que C. De hecho, ese fue el problema del FTA durante muchos años puesto que los matemáticos
aceptaban la afirmación de Albert Girard como inmediata. Aceptaban que una ecuación de grado n debe tener
n raíces, el problema para ellos era demostrar que tenían la forma a + bi, a, b reales.3
El primer intento que se hizo para demostrar el teorema lo hizo d'Alembert en 1746. Su demostración tenía
un fallo, en tanto que asumía implícitamente como cierto un teorema (actualmente conocido como el teorema
de Puiseux) que no sería demostrado hasta un siglo más tarde. Entre otros Euler, de Foncenex, LaGrange
y Laplace intentaron demostrar este teorema.
A finales del siglo XVIII, se presentaron dos nuevas pruebas, una por James Wood y otra por Gauss, pero
ambas igualmente incorrectas. Finalmente, en 1806 Argand publicó una prueba correcta para el teorema,
enunciando el teorema fundamental del álgebra para polinomios con coeficientes complejos. Gauss produjo
otro par de demostraciones en 1816 y 1849, siendo esta última otra versión de su demostración original. El
primer libro de texto que contiene la demostración de este teorema fue escrito por Cauchy. Se trata de Course
d'anlyse de l'École Royale Polytechnique (1821).
Es Weierstrass quien por primera vez, a mediados del siglo XIX, menciona el problema de encontrar una
prueba constructiva del teorema fundamental del álgebra. En 1891 publica una demostración de este tipo.
En 1940 Hellmuth Knesser consigue otra prueba de este estilo, que luego sería simplificada por su hijo Marin
Kneser en 1981.

El teorema fundamental del álgebra establece que todo polinomio de grado mayor que cero tiene una raíz.4
El dominio de la variable es el conjunto de los números complejos, que es una extensión de los números reales.
Aunque este enunciado, en principio, parece ser una declaración débil, implica que todo polinomio de
grado n de una variable con grado mayor que cero con coeficientes complejos tiene, contando

3
https://www.ugr.es/~eaznar/FTA.htm
4
"Variable Compleja con Aplicaciones" de Derrick William, Editorial: Grupo Editorial Iberoamerica, Segunda Edición
Página 4 de 36
las multiplicidades, exactamente n raíces complejas. La equivalencia de estos dos enunciados se realiza
mediante la división polinómica sucesiva por factores lineales.
Hay muchas demostraciones de esta importante proposición, que requieren bastantes conocimientos
matemáticos para formalizarlas.5
Corolarios
Como el teorema fundamental del álgebra puede ser visto como la declaración de que el cuerpo de los números
complejos es algebraicamente cerrado, se sigue que cualquier teorema concerniente a cuerpos
algebraicamente cerrados aplican al cuerpo de los números complejos. Se muestran aquí algunas
consecuencias del teorema, acerca del cuerpo de los números reales o acerca de las relaciones entre el cuerpo
de los reales y el cuerpo de los complejos:

 El cuerpo de los números complejos es la clausura algebraica del cuerpo de números reales.
 Todo polinomio mónico en una variable 𝑥 {\displaystyle x}𝑥𝑥𝑥𝑥𝑥𝑥ℎ𝑢𝑓𝑓 𝑛1𝑌con coeficientes racionales es el
producto de un binomio de la forma 𝑥 + 𝑚 {\displaystyle x+m}con 𝑚 {\displaystyle m}racional, y de un
trinomio de la forma 𝑥 2 + 𝑏𝑥 + 𝑐 {\displaystyle x^{2}+bx+c}con 𝑏 {\displaystyle b}y 𝑐 {\displaystyle
c}racionales y 𝑏 2 − 4𝑎𝑐 < 0 {\displaystyle b^{2}-4c<0}(que es lo mismo que decir que el trinomio 𝑥 2 +
𝑏𝑥 + 𝑐 {\displaystyle x^{2}+bx+c}no es resoluble en el conjunto de los números reales).6
 Toda función racional en una variable {\displaystyle x}, con coeficientes reales, se puede escribir como la
suma de una función polinómica con funciones racionales de la forma 𝑎/(𝑥 − 𝑏)𝑛 {\displaystyle a/(x-
b)^{n}}(donde 𝑛 {\displaystyle n}es un número natural, y 𝑎 {\displaystyle a}y 𝑏 {\displaystyle b}son
números reales), y funciones racionales de la forma (𝑎𝑥 + 𝑏)/(𝑥 2 + 𝑐𝑥 + 𝑑)𝑛 {\displaystyle
(ax+b)/(x^{2}+cx+d)^{n}}(donde 𝑛 {\displaystyle n}es un número natural, y {\displaystyle
a}a, {\displaystyle b}b, {\displaystyle c}c, y {\displaystyle d}d son números reales tales que 𝑐 2 − 4𝑑 <
0 {\displaystyle c^{2}-4d<0}). Un corolario de esto es que toda función racional en una variable y
coeficientes reales tiene una primitiva elemental.
 Toda extensión algebraica del cuerpo de los reales es isomorfa al cuerpo de los reales o al cuerpo de los
complejos.

5
https://es.wikipedia.org/wiki/Teorema_fundamental_del_%C3%A1lgebra
6
“Álgebra superior” de Kurosch, Editorial: Mir, Moscú (1980)
Página 5 de 36
2.1.2 Regla de los signos de los signos de Descartes
René Descartes publicó en 1637 su famosa Géométrie, un tratado donde aplica el álgebra a la geometría e
introduce el simbolismo algebraico actual. En el tercer libro de la Géométrie enuncia, sin demostración, su
célebre regla de los signos de Descartes. Durante dos siglos, el mundo matemático intentó sin éxito una
demostración general y satisfactoria a los estándares de la época; finalmente Carl Frederick Gauss la
demuestra, de la manera más general, en 1828 recurriendo a métodos algebraicos. Antes de ese
acontecimiento, la regla de los signos vivió un intenso debate sobre la autenticidad y la originalidad que solía
atribuírsele a Descartes.

René Descartes publicó en 1637 su famosa Géométrie, un tratado donde aplica el álgebra a la geometría e
introduce el simbolismo algebraico actual. En el tercer libro de la Géométrie enuncia, sin demostración, su
célebre regla de los signos de Descartes. Durante dos siglos, el mundo matemático intentó sin éxito una
demostración general y satisfactoria a los estándares de la época; finalmente Carl Frederick Gauss la
demuestra, de la manera más general, en 1828 recurriendo a métodos algebraicos. Antes de ese
acontecimiento, la regla de los signos vivió un intenso debate sobre la autenticidad y la originalidad que solía
atribuírsele a Descartes.

La regla de los signos de Descartes nos ayuda a identificar el número posible de raíces reales de un polinomio
𝑃(𝑥) sin graficar o resolverlas realmente. Dese cuenta que esta regla no proporciona el número exacto de
raíces del polinomio ni identifica las raíces del polinomio.7

Terminando por establecer que el número posible de las raíces positivas de un polinomio es igual al número
de cambios de signo en los coeficientes de los términos o menor que los cambios de signo por un múltiplo de
2 (Por ejemplo, si hay 3 cambios de signo en los coeficientes de los términos del polinomio, entonces el número
posible de raíces positivas del polinomio es 3 o 1).

Para un mejor entendimiento se puede dividir el enunciado anterior en dos partes. La primera, aquella que
trata sobre cómo determinar el número máximo de raíces positivas de una ecuación polinomial; mientras que
la segunda, se ocupa de la determinación del número máximo de raíces negativas de la misma. En ambos
casos, como señalamos anteriormente, la ecuación polinomial habrá de ser escrita de manera que las potencias
de x decrezcan:

𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + ⋯ + 𝑎2 𝑥 2 𝑎1 𝑥 + 𝑎0 = 0

Un ejemplo de la utilidad de la regla de los signos de Descartes:


El gran problema de esta regla es que no da una cantidad exacta de raíces positivas del polinomio, sino una
cota superior de las mismas. Por ello no podemos solamente con esta regla cuántas raíces positivas tiene

7
https://www.youtube.com/watch?v=6lI8Z_A4DRM
Página 6 de 36
nuestra ecuación. Pero sí podemos aprovechar algún conocimiento previo sobre las raíces positivas de la
misma. Por ejemplo:
Suponiendo que tenemos una ecuación polinómica con dos cambios de signo entre sus coeficientes, y
supongamos también que mediante otros métodos hemos encontrado una solución positiva de la misma,
digamos k. Por la regla de los signos sabemos que la ecuación tendrá dos soluciones positivas o no tendrá
ninguna. Pero tenemos ya una, k, por lo que nuestra ecuación tiene dos raíces positivas exactamente. Eso nos
indica que si necesitamos buscar otra raíz de la ecuación, podemos hacerlo entre los números positivos, ya
que seguro que hay otra más.8
Para más claridad de este método se tienen los siguientes ejemplos9:
Ejemplo: Encuentre el número de las raíces positivas del polinomio.
𝑥 3 + 3𝑥 2 − 𝑥 − 𝑥 4 − 2
Arregle los términos del polinomio en orden descendente de los exponentes.
−𝑥 4 + 𝑥 3 + 3𝑥 2 − 𝑥 − 2
Cuente el número de cambios de signo.

−𝑥 4 + 𝑥 3 + 3𝑥 2 − 𝑥 − 2
Hay 2 cambios de signo en el polinomio, así que el número posible de raíces positivas del polinomio es 2 o 0.
Corolario de la regla de los signos de Descartes:

Para empezar, primero reescriba el polinomio dado al sustituir – x por x en la ecuación. Esto anula los
coeficientes de los términos de las potencias impares.

La regla del corolario establece que el número posible de las raíces negativas del polinomio original es igual al
número de cambios de signo (en los coeficientes de los términos después de anular los términos de las
potencias impares) o menor que los cambios de signo por un múltiplo de 2.

Ejemplo:

Encuentre el número posible de raíces reales del polinomio y verifique.


𝑥 3 − 𝑥 2 − 14𝑥 + 24
Los términos del polinomio ya están en el orden descendente de exponentes.

8
https://www.gaussianos.com/la-regla-de-los-signos-de-descartes/
9
https://www.varsitytutors.com/hotmath/hotmath_help/spanish/topics/descartes-rule-of-signs
Página 7 de 36
Contar el número de cambios de signo:
𝑥 3 − 𝑥 2 − 14𝑥 + 24
Hay 2 cambios de signo en el polinomio y el número posible de raíces positivas del polinomio es 2 o 0.
El polinomio anterior es 𝑓(𝑥) y sustituya – x por x en el polinomio y simplifique:

𝑓(𝑥) = 𝑥 3 − 𝑥 2 − 14𝑥 + 24

𝑓(−𝑥) = (−𝑥)3 − (−𝑥)2 − 14(−𝑥) + 24

= −𝑥 3 − 𝑥 2 + 14𝑥 + 24
Contando el número de cambios de signo:
Hay 1 cambio de signo en el segundo polinomio. Así, del corolario de la regla de los signos de Descartes, el
número posible de raíces negativas del polinomio original es 1.
El polinomio puede ser reescrito como:(𝑥 − 2)(𝑥 − 3)(𝑥 + 4)
Podemos verificar que hay 2 raíces positivas y 1 raíz negativa del polinomio dado.
Nota: Las raíces repetidas de un polinomio son contadas por separado.
Por ejemplo, el polinomio (𝑥 − 2)2 , que puede ser escrito como 𝑥 2 − 2𝑥 + 1, tiene 2 cambios de signo. Por lo
tanto, el polinomio tiene 2 raíces positivas.

Página 8 de 36
2.2 Métodos para encontrar raíces reales
En las matemáticas existen métodos de obtención de raíces de forma interactiva. Estos métodos son utilizados
para calcular aproximadamente la raíz de una ecuación que por los métodos tradicionales no tienen
solución.10
Estos métodos abiertos para encontrar raíces de ecuaciones utilizan una fórmula para predecir la raíz. Esta
fórmula puede desarrollarse como una iteración por ejemplo simple de punto fijo (también llamada iteración
de un punto o sustitución sucesiva o método de punto fijo). Habiendo varios métodos para esto existen unos
más eficientes que otros siendo:

 Método de Newton-Raphson
 Método de la secante
 Método de bisección del intervalo
 Regula falsa.

En una búsqueda de raíces se debe tener en cuenta que:11

 Dado el caso de que tanto el dominio como la imagen de la función sean los números
reales (denominadas funciones reales) entonces los puntos en los que el gráfico corta al eje de
las abscisas es una interpretación gráfica de las raíces de dicha función.
 El teorema fundamental del álgebra determina que todo polinomio en una variable compleja y de
grado n tiene n raíces (contando sus multiplicidades). Aun así, Las raíces de los polinomios reales no son
necesariamente reales; algunas de ellas, o incluso todas, pueden ser complejas.
 Una función trascendente como por ejemplo {\displaystyle \sin(x)\,}𝑠𝑒𝑛( )𝑠𝑒𝑛(𝑥) posee una infinidad
de raíces, concretamente cualquier 𝑥𝑛 = 𝑛𝜋, 𝑛 ∈ ℤ {\displaystyle x_{n}=n\pi ,\ n\in \mathbb {Z} } es

raíz de esa función. En cambio la función 𝑒 {\displaystyle e^{z}}no se anula nunca sobre los números
complejos.
 El número de raíces de una función holomorfa o una función analítica es un conjunto numerable
sin puntos de acumulación.
 Uno de los problemas no resueltos más interesantes de la matemática moderna es encontrar las raíces de
la función zeta de Riemann.
 La resolución numérica de ecuaciones no lineales es la utilización de un método numérico para encontrar
raíces de una función de manera aproximada.

10
"Matemática numérica" de Manuel Alvarez Blanco, Editorial Félix Varela, 2004
11
https://es.wikipedia.org/wiki/Ra%C3%ADz_de_una_funci%C3%B3n
Página 9 de 36
2.2.1 Bisección
Este es uno de los métodos más sencillos y de fácil intuición para resolver ecuaciones en una variable, también
conocido como Método de Intervalo Medio.12 Se basa en el teorema del valor intermedio, el cual establece
que toda función continua f en un intervalo cerrado [a,b] toma todos los valores que se hallan entre f(a) y f(b).
Esto es que todo valor entre f(a) y f(b) es la imagen de al menos un valor en el intervalo [a,b]. En caso de
que f(a) y f(b) tengan signos opuestos, el valor cero sería un valor intermedio entre f(a) y f(b), por lo que con
certeza existe un p en [a,b] que cumple f(p)=0. De esta forma, se asegura la existencia de al menos
una solución de la ecuación f(x)=0.
El método consiste en lo siguiente:

 Debe existir seguridad sobre la continuidad de la función f(x) en el intervalo [a,b]

 A continuación se verifica que {\displaystyle \scriptstyle f(a)\cdot f(b)<0}


 Se calcula el punto medio m del intervalo [a,b] y se evalúa f(m) si ese valor es igual a cero, ya hemos
encontrado la raíz buscada
 En caso de que no lo sea, verificamos si f(m) tiene signo opuesto con f(a) o con f(b)
 Se redefine el intervalo [a, b] como [a, m] ó [m, b] según se haya determinado en cuál de estos intervalos
ocurre un cambio de signo
 Con este nuevo intervalo se continúa sucesivamente encerrando la solución en un intervalo cada vez más
pequeño, hasta alcanzar la precisión deseada

El método de bisección es menos eficiente que el método de Newton, pero es mucho más seguro para
garantizar la convergencia. Si f es una función continua en el intervalo [a, b] y f(a) f(b) < 0, entonces este
método converge a la raíz de f. De hecho, una cota del error absoluto es:
|𝑏 − 𝑎|
2𝑛
en la n-ésima iteración. La bisección converge linealmente, por lo cual es un poco lento. Sin embargo, se
garantiza la convergencia si f(a) y f(b) tienen distinto signo.
Si existieran más de una raíz en el intervalo entonces el método sigue siendo convergente pero no resulta tan
fácil caracterizar hacia qué raíz converge el método.13
Los métodos de búsqueda incremental aprovechan esta característica localizando un intervalo en el que la
función cambie de signo. Entonces, la localización del cambio de signo (y, en consecuencia, de la raíz) se logra
con más exactitud al dividir el intervalo en varios subintervalos. Se investiga cada uno de estos subintervalos

12
http://proton.ucting.udg.mx/posgrado/cursos/metodos/ecnolin/biseccion.html
13
https://es.wikipedia.org/wiki/M%C3%A9todo_de_bisecci%C3%B3n
Página 10 de 36
para encontrar el cambio de signo. El proceso se repite y la aproximación a la raíz mejora cada vez más en la
medida que los subintervalos se dividen en intervalos cada vez más pequeños.14
También conocido como de corte binario el método de bisección, de partición de intervalos o de Bolzano, es
un tipo de búsqueda incremental en el que el intervalo se divide siempre a la mitad. Si la función cambia de
signo sobre un intervalo, se evalúa el valor de la función en el punto medio. La posición de la raíz se determina
situándola en el punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El proceso se repite
hasta obtener una mejor aproximación como ejemplo se presenta un algoritmo sencillo para los cálculos de la
bisección con una representación gráfica del método.15
Paso 1: Elija valores iniciales inferior, 𝑥𝑖 , y superior, 𝑥𝑢 , que encierren la raíz, de forma tal que la función
cambie de signo en el intervalo. Esto se verifica comprobando que 𝑓(𝑥𝑖 )𝑓(𝑥𝑢 ) < 0.
Paso 2: Una aproximación de la raíz 𝑥𝑟 se determina mediante:
𝑥𝑖 + 𝑥𝑢
𝑥𝑟 =
2
Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está la raíz:
a) Si 𝑓(𝑥𝑖 )𝑓(𝑥𝑢 ) < 0, entonces la raíz se encuentra dentro del subintervalo inferior o izquierdo. Por lo
tanto, haga 𝑥𝑢 + 𝑥𝑖 y vuelva al paso 2.
b) Si 𝑓(𝑥𝑖 )𝑓(𝑥𝑢 ) > 0, entonces la raíz se encuentra dentro del subintervalo superior o derecho. Por lo
tanto, haga 𝑥𝑖 + 𝑥𝑢 y vuelva al paso 2.
c) Si 𝑓(𝑥𝑖 )𝑓(𝑥𝑢 ) = 0, la raíz es igual a 𝑥𝑟 ; termina el cálculo.

14
“Métodos Numéricos para Ingenieros” de Steven C. Chapra y Raymond P. Canale, Editorial: McGraw-Hill, Quinta Edición
15
“Métodos Numéricos para Ingenieros” de Steven C. Chapra y Raymond P. Canale, Editorial: McGraw-Hill, Quinta Edición
Página 11 de 36
Ejemplo: Encontrar una raíz real de: 𝑒 𝑥−1 − 1.5𝑥 = 0

Con una tolerancia de: 𝜀 = 0.1, |𝑥𝑖 + 1 − 𝑥𝑖 | < 𝜀

𝑓(0) = 𝑒 0−1 − 1.5(0) = 0.0367

𝑓(1) = 𝑒 1−1 − 1.5(1) = −0.5

Iteración 1 con un límite de (0,1)

𝑎+𝑏 0+1
𝑥1 = , por lo tanto esto es; 𝑥1 = = 0.5
2 2

𝑓(0.5) = 𝑒 0.5−1 − 1.5(0.5) = −0.1435

Iteración 2 con un límite de (0, 0.5)

𝑎+𝑏 0+0.5
𝑥2 = , por lo tanto esto es; 𝑥2 = = 0.25
2 2

𝑓(0.25) = 𝑒 0.25−1 − 1.5(0.25) = −0.0973

Iteración 3 con un límite de (0.25, 0.5)

𝑎+𝑏 0.25+0.5
𝑥3 = , por lo tanto esto es; 𝑥2 = = 0.375
2 2

𝑓(0.375) = 𝑒 0.375−1 − 1.5(0.375) = −0.0273

Iteración 4 con un límite de (0.25, 0.375)

𝑎+𝑏 0.25+0.375
𝑥4 = , por lo tanto esto es; 𝑥4 = = 0.3125
2 2

|𝑥4 − 𝑥3 | = |0.3125 − 0.375| = 0.0625 < 0.1

Por lo tanto, la raíz aproximada es: 0.3125

Página 12 de 36
2.2.2 Punto Fijo (Regla Falsa).
Para iniciar pondremos unas definiciones básicas de diferentes fuentes.

 El método del punto fijo es un método iterativo que permite resolver sistemas de ecuaciones no
necesariamente lineales. En particular se puede utilizar para determinar raíces de una función de la
forma f(x), siempre y cuando se cumplan los criterios de convergencia.16
 El método de iteración de punto fijo para resolver una ecuación no lineal f(x)=0 pasa por transformarla
en un equivalente, x=g(x), y ejecutar la iteración 𝑥 (𝑘+1) = 𝑔(𝑥 𝑘 ) a partir de un cierto 𝑥 (0) hasta que
satisfaga el criterio de parada elegido o se alcance el número de iteraciones máximo admitido. 17
 El método de punto fijo o de aproximaciones sucesivas es, junto con el de Bisección, uno de los
primeros métodos que se utilizaron para resolver ecuaciones algebraicas y trascendentes. No obstante
que en la actualidad existen otros métodos más eficientes, el de punto fijo se considera el más simple
en sus principios y en él se pueden apreciar claramente todas las características de un método de
aproximaciones sucesivas.18
¿Cómo se resuelve este método?
Las raíces múltiples son determinados de ecuaciones polinómicas que tienen la forma general:
f(x) = 𝑎0 +𝑎1 𝑥 1 +𝑎2 𝑥 2 +…+𝑎𝑛 𝑥 𝑛
Donde n es el grado del polinomio y son los coeficientes. Las raíces de los polinomios pueden ser reales y / o
complejos, y cumplir con las tres reglas:
* En una ecuación de grado n, hay n raíces reales o complejas. Cabe señalar que las raíces no son
necesariamente diferentes.
* Si n es impar hay al menos una raíz real.
* Si hay raíces complejas, estas se encuentran en pares conjugados.
Sea F(x) = 0 una ecuación algebraica o trascendente cualquiera. Se suma x en ambos miembros y se obtiene:

F(x) + x = x … (1)

16
Sin mencionar. (2018). Método del Punto Fijo. febrero,27,2018, de Wikipedia Sitio web:
https://es.wikipedia.org/wiki/M%C3%A9todo_del_punto_fijo
17 Seminario. R. (1976). Métodos Numéricos. Perú: Limusa.
18 Sin Mencionar. (2002). Punto Fijo. Febrero 27, 2018, de Instituto Tecnológico de Tuxtla Gutierrez Sitio web:
https://sites.google.com/site/metalnumericos/home/unidad-3/2-2-metodos-abiertos-iteracion-punto-fijo-metodo-
de-newton-raphson-y-metodo-de-la-secante-metodos-para-raices-multiples
Página 13 de 36
donde el miembro izquierdo es otra función de x que se define como (2)
G(x) + x = x
Se sustituye en la ecuación (1): (3)
x = G(x)
Obsérvese ahora que cualquier ecuación puede representarse en esta forma, siguiendo el procedimiento
anterior.
Si x = a es una raíz de la ecuación, entonces
F (a) = 0
o bien, al sustituir en la ecuación (3)
a = G (a)
El método de aproximaciones sucesivas consiste en sustituir un valor inicial (x0) apropiado (cercano a la raíz)
en el segundo miembro de la ecuación (3). Si x0 es la raíz, se deberá cumplir la ecuación (4); esto es:
x0 = G(xo)
pero esto será difícil de que ocurra; seguramente el valor inicial principal proporcionado xo será solo un
valor cercano a la raíz. Entonces, en el caso general:
x0 =/ G(x0) o bien, x1 = G(x0)
donde x1 es la nueva aproximación de la raíz a. se sustituye x1 en el segundo miembro de la ecuación (3) y se
obtiene:
x2 = G(x1)
Al proceder reiteradamente en esta forma se induce que la n-ésima aproximación es:

Xn = G(Xn-1)
n = 1,2, 3….
De acuerdo con lo visto en los temas anteriores, puede afirmarse que, si el método converge, la diferencia en
valor absoluto entre valores proporcionados en dos iteraciones sucesivas será cada vez más pequeña a medida
que n aumente, y con esto se tendrá un criterio para saber cuándo termina la aplicación del método.
Es posible afirmar que si en la n-ésima iteración el método se está aproximando a la raíz o converge a ella,
entonces:
|G´(t)| = |a - Xn| / |a - Xn-1| <1

Página 14 de 36
Es decir, el método es convergente si:

|G´(t)|<1 Xn-1<t<a
Esto significa que el método converge en la n-ésima iteración cuando el valor absoluto de la derivada de G(x)
en cualquier punto del intervalo (Xn-1, a) es menor que la unidad.
Por otra parte, el método es divergente si
|a - Xn| > |a - Xn-1|
Recordar que el método de Punto Fijo, nos dice que, solo podrá haber y tener un único punto o raíz

Ejemplo 1: Encontrar la raíz de la siguiente función:


G(x)= 𝑥 2 + 𝑥 − 0.5
G’(x)=2x+1
G’(x=-0.6) =|2(-0.6) +1|=|0.2|<1
Por lo tanto, si converge
G(x)= 𝑥 2 + 𝑥 − 0.5
G(x)= (−0.6)2 + (−0.6) − 0.5= -0.74
−0.74−0.6
𝜀= | −0.74
| = 0.18 … . . 0.18 ≤ 0.01?

- G(x)= 𝑥 2 + 𝑥 − 0.5
G(x)= (−0.742 + (−0.74) − 0.5= -0.6924

Página 15 de 36
−0.6924−(−0.74)
𝜀= | −0.6924
| = −0.068

- G(x)= 𝑥 2 + 𝑥 − 0.5
G(x)= (−0.6924)2 + (−0.6924) − 0.5= -0.7129
−0.7129−(−0.6924)
𝜀= | | = 0.028
−0.7129

- G(x)= (−0.7129)2 + (−0.7129) − 0.5 = −0.7046

−0.7046−(−0.6924)
𝜀= | −0.7046
| = −0.0117
2
- G(x)= (−0.7046) + (−0.7046) − 0.5 = −0.7081

−0.7081−(−0.7046)
𝜀= | | = 0.0049
−0.7081

Por lo tanto 0.0049<0.01


La raíz es: -0.7081

Ejemplo 2: Encontrar la raíz de la siguiente función:


F(x)=𝑒 −𝑥 -x 𝑥0 =1 𝜀= 0.01
G(x)= F(x)+x
G(x)= 𝑒 −𝑥 -x+x
G’(x)= −𝑒 −𝑥
G’(x)= |−𝑒 −1 | = |-0.3678|<1 … Si Converge

- G(x)= 𝑒 −1= 0.3678


0.3678−1
𝜀= 0.3678 = −1.7188

- G(x)= 𝑒 −0.3678= 0.6922


0.6922−0.3678
𝜀= 0.6922
= 0.4686

- G(x)= 𝑒 −0.6922= 0.5004


0.5004−0.6922
𝜀= 0.5004
= −0.3832

- G(x)= 𝑒 −0.5004= 0.6062


Página 16 de 36
0.6061−0.5004
𝜀= 0.6062
= −0.1745

- G(x)= 𝑒 −0.6062= 0.5476


0.5476−0.6062
𝜀= 0.5476
= −0.1070

- G(x)= 𝑒 −0.5476= 0.5783


0.5783−0.5476
𝜀= 0.5783
= 0.0530

- G(x)= 𝑒 −0.5783= 0.5608


0.5608−0.55783
𝜀= 0.5608
= −0.0312

- G(x)= 𝑒 −0.5608= 0.5707


0.5707−0.5608
𝜀= 0.5707
= 0.0173

- G(x)= 𝑒 −0.5651= 0.5683


0.5683−0.5707
𝜀= 0.5683
= 0.0056

Por lo tanto 0.0056<0.01


La raíz es: 0.5683

Usando el mismo ejemplo,


ahora se utilizará una
plataforma online.
- https://es.planetcalc.com/search/?tag=2300
para el Ejemplo 1.
F(x)= 𝑥 2 − 0.5 𝑥0 = −0.6 𝜀= 0.01

Página 17 de 36
Otros links de plataformas online y videos de YouTube.
Página 18 de 36
 http://es.onlinemschool.com/math/assistance/cartesian_coordinate/p_center/
 https://www.youtube.com/watch?v=0gjdx2pcdro
 https://www.youtube.com/watch?v=uT0SgJsh6aE
 https://www.youtube.com/watch?v=9bfNZHekrQE

2.2.3 Newton – Raphson.


En análisis numérico, el método de Newton (conocido también como el método de Newton-Raphson o el
método de Newton-Fourier) es un algoritmo eficiente para encontrar aproximaciones de los ceros o raíces de
una función real. También puede ser usado para encontrar el máximo o mínimo de una función, encontrando
los ceros de su primera derivada.
La única manera de alcanzar la convergencia es seleccionar un valor inicial lo suficientemente cercano a la
raíz buscada. Así, se ha de comenzar la iteración con un valor razonablemente cercano al cero (denominado
punto de arranque o valor supuesto). La relativa cercanía del punto inicial a la raíz depende mucho de la
naturaleza de la propia función; si ésta presenta múltiples puntos de inflexión o pendientes grandes en el
entorno de la raíz, entonces las probabilidades de que el algoritmo diverja
aumentan, lo cual exige seleccionar un valor supuesto cercano a la raíz.
Una vez que se ha hecho esto, el método linealiza la función por la recta
tangente en ese valor supuesto. La abscisa en el origen de dicha recta
será, según el método, una mejor aproximación de la raíz que el valor anterior. Se realizarán sucesivas
iteraciones hasta que el método haya convergido lo suficiente. f'(x)= 0 Sea f : [a, b] -> R función derivable
definida en el intervalo real [a, b]. Empezamos con un valor inicial x0 y definimos para cada número natural
n.19

Donde f ' denota la derivada de f.

19
Clemente Rodríguez. (2012). Newton Raphson. mayo 05, 2018, de No menciona Sitio web: http://metnum-
utp01.blogspot.mx/p/newton-raphson_10.html
Página 19 de 36
Nótese que el método descrito es de aplicación exclusiva para funciones de una sola variable con forma
analítica o implícita conocible. Existen variantes del método aplicables a sistemas discretos que permiten
estimar las raíces de la tendencia, así como algoritmos que extienden el método de Newton a sistemas
multivariables, sistemas de ecuaciones, etc.

La primera de ellas es una simple interpretación geométrica. En efecto, atendiendo al desarrollo geométrico
del método de la secante, podría pensarse en que si los puntos de iteración están lo suficientemente cerca (a
una distancia infinitesimal), entonces la secante se sustituye por la tangente a la curva en el punto. Así pues,
si por un punto de iteración trazamos la tangente a la curva, por extensión con el método de la secante, el
nuevo punto de iteración se tomará como la abscisa en el origen de la tangente (punto de corte de la tangente
con el eje X). Esto es equivalente a linealizar la función, es decir, f se reemplaza por una recta tal que contiene
al punto ( , ( )) y cuya pendiente coincide con la derivada de la función en el punto, . La nueva
aproximación a la raíz, , se logra la intersección de la función lineal con el eje X de abscisas.
Matemáticamente:

Una forma alternativa de obtener el algoritmo es desarrollando la función f(x) en serie de Taylor, para un
entorno del punto : En la ilustración adjunta del método de Newton se puede ver que es una mejor
aproximación que para el cero (x) de la función f.

Si se trunca el desarrollo a partir del término de grado 2, y evaluamos en :

Si además se acepta que tiende a la raíz, se ha de cumplir que , luego, sustituyendo en


la expresión anterior, obtenemos el algoritmo.
Finalmente, hay que indicar que el método de Newton-Raphson puede interpretarse como un método de
iteración de punto fijo. Así, dada la ecuación , se puede considerar el siguiente método de iteración
de punto fijo:

Página 20 de 36
Se escoge h (x) de manera que g'(r)=0 (r es la raíz buscada). Dado que g'(r) es:

Entonces:

Como h (x) no tiene que ser única, se escoge de la forma más sencilla:

Por tanto, imponiendo subíndices:

Expresión que coincide con la del algoritmo de Newton-Raphson

Página 21 de 36
Teorema de Convergencia Global del Método de Newton

Sea verificando1 :

1.
2. para todo
3. para todo

4.

Entonces existe un único tal que por lo que la sucesión converge a s.


Ejemplo 1.
F(x)=x 2 − 0.5 xn = 0.6 ε = 0.1
F(x)= (0.6)2 − 0.5= -0.14
F’(x)= 2x= (2) (0.6) =1.2
F’’(x)=2
(−0.14)(2)
| (1.2)2
|<1

0.1999<1  Converge

0.14
 𝑥𝑛+1 = 0.6 − = 0.716
1.2
0.716−0.6
ε= 0.716
= 0.16

(0.716)2 −0.5
 𝑥𝑛+1 = 0.716 − 2(0.716)
= 0.7071

0.7071−0.716
ε= = 0.012
0.7071

La raíz es 0.7071

Ejemplo 2.
F(x)= 𝑥 3 − 3𝑥 + 1 𝑥𝑛 = 1.5 𝜀 = 0.1

Página 22 de 36
F(x) = (1.5)3 − 3(1.5) + 1 = −0.125

F’(x)= (3)(1.5)2 − 3 = 3.75


F’’(x)= 6(1.5) = 9
(−0.125)(9)
| (3.75)2
|= -0.08

0.08<1  Converge
(−0.125)
 𝑥𝑛+1 = 1.5 − 3.75
= 1.53
1.53−1.5
𝜀= = 0.019
1.53

La raíz es 1.53
Ejemplo 3.
F(X)= 𝑥 2 − 7 𝑥𝑛 = 2.5 𝜀 = 0.001
F(x)= (2.5)2 − 7 = −0.75
F’(x)= 2(2.5) = 5
F’’(x)=2
(−0.75)(2)
| (5)2
|= 0.06 0.06<1

(−0.75)
 𝑥𝑛+1 = 2.5 − = 2.65
5
2.65−2.5
𝜀= 2.65
= 0.056
(2.65)2 −7
 𝑥𝑛+1 = 2.65 − 2(2.65)
= 2.645
2.645−2.65
𝜀= 2.645
= −0.001
La raíz es 2.64
Plataformas online que resuelven el método de Newton-Raphson y videos en YouTube

 http://www.wolframalpha.com/widgets/view.jsp?id=7366b7a89fc9d6c90e308d633d63884f
 http://um.mendelu.cz/maw-html/index.php?lang=es&form=newton
 https://keisan.casio.com/exec/system/1244946907
 https://www.youtube.com/watch?v=F1BO5s7tjY0
 https://www.youtube.com/watch?v=WF82_naprkQ

Página 23 de 36
Programas (código)
Bisección.
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
class Biseccion
{
Private:
double xf;
double xi;
double error;
int iteraciones;
public:
void Leer(void);
double Funcion(double x);
double Metodo(void);
void Imprimir(void);
};
void Biseccion :: Leer(void)
{
cout<<"Introduce el valor de X inicial"<<endl;
cin>>xi;
cout<<"Introduce el valor de X final"<<endl;
cin>>xf;
cout<<"Introduce el error"<<endl;
cin>>error;
cout<<"Introduce el numero maximo de iteraciones"<<endl;
cin>>iteraciones;
}
double Biseccion :: Funcion(double x)
{ return(pow(x,3)-4*pow(x,2)-3*x-10);
}

Página 24 de 36
double Biseccion :: Metodo(void)
{
double aux;
int aux1=0;
do{
aux = (xi+xf)/2;
if(Funcion(xi)*Funcion(aux)<0)
{
xf=aux;
}
else
{
xi=aux;
}
cout<<aux1<<"\t"<<xi<<"\t"<<xf<<"\t"<<aux<<"\t"<<Funcion(aux)<<endl;
aux1++;
}
while((fabs(Funcion(aux))>error)&&(aux1<iteraciones));
return aux;
}
void Biseccion :: Imprimir(void)
{
cout<<"El valor de X inicial: "<<xi<<endl;
cout<<"El valor de X final: "<<xf<<endl;
cout<<"El error: "<<error<<endl;
cout<<"El numero maximo de iteraciones: "<<iteraciones<<endl;
cout<<"La raiz de la ecuacion es: "<<Metodo()<<endl;
}
int main (void)
{
Biseccion* Objeto1;
Objeto1 = new Biseccion;
Objeto1->Leer();
Objeto1->Imprimir();
delete Objeto1;
getche();
return 0;
}

Página 25 de 36
Página 26 de 36
Punto Fijo.

#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
class PuntoFijo
{
private:
double x;
double Nmax;
double e;
double n;
public:
PuntoFijo(double X=1, double NMAX=1, double E =1, double N=1);
bool ValidarNmax(const double Dato);
bool Validare(const double Dato);
void Leer(void);
double Metodo (double p);
int LeerAr(void);
void Imprimir(void);
};
PuntoFijo :: PuntoFijo(double X, double NMAX, double E, double N)
{
x = X;
n = N;
Nmax = (ValidarNmax(Nmax))?:1;
e = (Validare(e))?:1;
}
bool PuntoFijo :: ValidarNmax(const double Dato)
{
bool Bandera = true;
if (Dato>0)
Bandera = false;
return Bandera;
}

Página 27 de 36
bool PuntoFijo ::Validare(const double Dato1)
{
bool Bandera = true;
if(0<Dato1<1)
Bandera = false;
return Bandera;
}
void PuntoFijo :: Leer(void)
{
double AuxNMAX;
double AuxE;
bool Bandera;
cout<<"Introduce el valor que quieres evaluar la funcion"<<endl;
cin>>x;
do
{
cout<<"Introduce el Numero de iteraciones que desees"<<endl;
cin>>Nmax;
Bandera = ValidarNmax(AuxNMAX);
while(Bandera==true);
Nmax = AuxNMAX;
cout<<"Introduce la precision que desees"<<endl;
cout<<"Recuerda que debera estar en un rango de 0 a 1"<<endl;
cin>>e;
Bandera = Validare(AuxE);
}
while(Bandera == false);
e = AuxE;
}

double PuntoFijo :: Metodo (double p) {

//double p = 0.0;
for (int i =0; i<n; i++)
{
p = p + [i]*pow(x,i);

return p;
}
Página 28 de 36
void PuntoFijo :: Imprimir(void)
{
cout<<"El valor a evaluar en la funcion es: "<<x<<endl;
cout<<"El numero maximo de iteraciones es: "<<Nmax<<endl;
cout<<"La precision es de: "<<e<<endl;
cout<<Metodo()<<endl;
}
int LeerAr(void)
{
int Num;
cout<<"Introduce el numero de coeficientes"<<endl;
cin>>Num;
return Num;
}
int main (void)
{
int x;
int n;
int N;
PuntoFijo* Objeto1;
Objeto1 = new PuntoFijo;

N = LeerAr();
Objeto1 = new PuntoFijo[N];

for(int i=0; i<n; i++)


Objeto1[i].Leer();
double p = 0.0;
for (int i =0; i<n; i++)
{
p = p + i*pow(x,i);
}
for(int i=0; i<n; i++){
Objeto1[i].Imprimir();
}
Objeto1->Imprimir();
delete[] Objeto1;
system("pause");
return 0;
}

Página 29 de 36
Newton-Raphson.
#include <iostream>
#include <iomanip> // setprecision
#include <cmath>
#define PRECISION 10
#define MAX_ITERACIONES 100
#define INTERVALOS 6
using namespace std;
void tabula(double a, double b, int intervalos); // Muestra un # tabulado de intervalos
double f(double x); // Retorna el valor de la función evaluada en x
double f_derivada(double x); // Retorna la derivada de la función evaluada en x
int main()
{
double a;
double b;
double tolerancia; // Tolerancia
double x0; // Primera aproximación
double x1; // Siguiente aproximación
double error; // Diferencia entre dos aproximaciones sucesivas: x1 - x0
int iteracion; // # de iteraciones
bool converge = true;
cout << setprecision(PRECISION); // Se establece la precisión
cout << "\nCalculo de las raices de una funcion aplicando el metodo de Newton - Raphson\n";
cout << "\nIngrese el intervalo inicial [a,b]:" << endl;
// Se ingresa el intervalo
cout << "\na = ";
cin >> a;
cout << "b = ";
cin >> b;
// Se tabulan los valores de f para INTERVALOS intervalos
tabula(a, b, INTERVALOS);
// Se pide elegir una aproximación inicial
cout << "\nEscoja el punto inicial adecuado: x0 = ";
cin >> x0;
// Se pide ingresar la tolerancia
cout << "Tolerancia = ";
cin >> tolerancia;
// Iteraciones
// Se imprimen los valores de la primera aproximación
cout << "\nAproximacion inicial:\n";
cout << "x0 = " << x0 << "\n"
<< "f(x0) = " << f(x0) << "\n"
<< "f'(x0) = " << f_derivada(x0) << endl;
iteracion = 1;

Página 30 de 36
do {
if (iteracion > MAX_ITERACIONES) {
converge = false; // Se sobrepasó la máxima cantidad de iteraciones
permitidas
break;
} else {
x1 = x0 - f(x0) / f_derivada(x0); // Cálculo de la siguiente aproximación
error = fabs(x1 - x0); // El error es la diferencia entre dos aproximaciones
sucesivas
// Se imprimen los valores de la siguiente aproximación x1, f(x1),
f_derivada(x1), error
cout << "\nIteracion #" << iteracion << endl;
cout << "x" << iteracion << " = " << x1 << "\n"
<< "f(x" << iteracion << ") = " << f(x1) << "\n"
<< "f'(x" << iteracion << ") = " << f_derivada(x1) << "\n"
<< "error = " << error << endl;
// La diferencia entre dos aproximaciones sucesivas es también conocida
como error.
// La condición de terminación consiste en que que el error debe ser <=
que la tolerancia dada
// Si se cumple la condición de terminación, se ha encontrado la raiz
aproximada buscada.
if (error <= tolerancia) { // Condición de terminación
converge = true;
break;
// Si no se cumple el criterio de terminación, se pasa a la siguiente
iteración
} else {
x0 = x1;
iteracion++;
}
}
} while (1);
// Respuesta final

if (converge) {

cout << "\n\nPara una tolerancia de " << tolerancia << " la raiz de f es: " << x1 <<
endl;

} else {

cout << "\n\nSe sobrepasó la máxima cantidad de iteraciones permitidas" << endl;

Página 31 de 36
cin.get();

cin.get();

return 0;

}
void tabula(double a, double b, int intervalos)
{
int puntos = intervalos + 1;
double ancho = (b - a) / intervalos;
cout << "\n\tx\t\tf(x) " << endl;
for (int i = 0; i < puntos; i++) {
cout << "\t" << a << "\t\t" << f(a) << endl;
a = a + ancho;
}
}
double f(double x)
{
return x * exp(cos(x)) / 1.5 - 1;
//return exp(-x) + 3 * x - 3;
}
double f_derivada(double x)
{
return exp(cos(x)) * (1 - x * sin(x)) / 1.5;
//return -1 * exp(-x) + 3;
}

Página 32 de 36
Página 33 de 36
Página 34 de 36
Página 35 de 36
Página 36 de 36

También podría gustarte