Está en la página 1de 48

UNIVERSIDAD NACIONAL DE HUANCAVELICA

(creada por la ley Nº 25265)

FACULTAD DE CIENCIAS DE LA EDUCACIÓN

ESCUELA PROFESIONAL DE EDUCACIÓN SECUNDARIA

CARRERA PROFESIONAL DE MATEMÁTICA, COMPUTACIÓN E


INFORMÁTICA

RAÍCES DE ECUACIONES
TRASCENDENTALES
presentado por:

GONZALO QUISPE, ALEX

HUANCAVELICA, PERÚ
2021
RESUMEN
El cálculo de raíces se aplica a diversos problemas, en ingeniería son muy comunes en el área
de diseño. Se desarrollan en este punto distintos métodos para aproximar las raíces de una
ecuación. En todos los casos se supone la continuidad de la función 𝑓(𝑥) en el intervalo [𝑎, 𝑏]
en el que se encuentra la raíz 𝜉 buscada, 𝑓 (𝜉 ) = 0, que este intervalo ha sido hallado por
alguno de los métodos descriptos en el punto anterior y que la raíz 𝜉 es una raíz simple del
problema.

Este trabajo informa sobre la obtención de raíces de ecuaciones transcendentales, para la


obtención de estas raíces; existen diversos métodos en las cuales hablaremos de 3 métodos:
abiertos, cerrados y raíces de polinomios. Los métodos abiertos se basan en fórmulas que
requieren únicamente de un solo valor de inicio; dentro de esta vamos a encontrar los
siguientes métodos: punto fijo, Newton – Raphson y secante. Por otro lado, los métodos
cerrados se basan en formulas en donde se requieren como mínimos 2 valores de inicio y la
raíz buscada se encuentra dentro de ese intervalo; al igual que en el anterior estos métodos
también se dividen en los siguientes: grafico, bisección y falsa posición. Y por último
tenemos las raíces de polinomios, este método ayuda a encontrar no solo raíces reales si no
también raíces complejas e imaginarias y para lograrlo se emplean los siguientes métodos:
método de factores cuadráticos y método de Müller

El desarrollo de estos métodos de solución de ecuaciones no lineales creció de forma


exponencial correspondiente a todo colectivo biológico o intelectual, habiéndose llegado a
un punto en el cual los métodos numéricos disponibles dan las raíces aproximadas de un
polinomio y/o de una función de cualquier grado, estas raíces pueden ser reales o complejas,
y muy buenas aproximaciones a raíces de ecuaciones trascendentes.

2
ÍNDICE
RESUMEN ............................................................................................................................. 2

ÍNDICE ................................................................................................................................... 3

INTRODUCCIÓN .................................................................................................................. 5

CAPITULO I .......................................................................................................................... 6

PRESENTACIÓN DE LA TEMÁTICA ................................................................................ 6

1.1. Fundamentación Del Tema ...................................................................................... 6

1.2. Objetivos Del Estudio .............................................................................................. 6

1.2.1. Objetivo General............................................................................................... 6

1.2.2. Objetivos Específicos ....................................................................................... 7

1.3. Justificación Del Tema ............................................................................................ 7

CAPITULO II ......................................................................................................................... 8

MARCO TEÓRICO ............................................................................................................... 8

2.1. Antecedentes Del Estudio ........................................................................................ 8

2.2. Bases Teóricas ......................................................................................................... 9

2.2.1. Métodos Cerrados ............................................................................................. 9

2.2.1.1. Metodos Gráficos ...................................................................................... 9

2.2.1.2. Método De La Bisección ........................................................................... 9

2.2.1.3. Método De La Falsa Posición ................................................................. 13

2.2.2. Métodos Abiertos ........................................................................................... 16

2.2.2.1. Método Del Punto Fijo ............................................................................ 16

2.2.2.2. Método De Newton – Raphson ............................................................... 19

2.2.2.3. Método De La Secante ............................................................................ 21

2.2.3. Raíces De Polinomios..................................................................................... 23

2.2.3.1. Método De Los Factores Cuadráticos ..................................................... 23

3
2.2.3.2. Método De Müller ................................................................................... 27

CONCLUSIONES ................................................................................................................ 32

REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 33

ANEXOS .............................................................................................................................. 34

Algoritmo Del Método De La Bisección .......................................................................... 34

Algoritmo Del Método De La Falsa Posición................................................................... 36

Algoritmo Del Método Del Punto Fijo ............................................................................. 38

Algoritmo Del Método De Newton – Raphson ................................................................ 39

Algoritmo Del Método De La Secante ............................................................................. 42

Algoritmo Del Método De Factores Cuadráticos ............................................................. 44

Algoritmo Del Método De Müller .................................................................................... 47

4
INTRODUCCIÓN
La búsqueda de raíces de ecuaciones es, tal vez, uno de los problemas más antiguos sobre el
que existe documentación.

Las sucesiones asintóticas son una herramienta usada en el análisis de las soluciones de
problemas que surgen en la Teoría de Perturbaciones. En este capítulo estudiaremos como se
aplica el método de expansiones asintóticas en la solución de problemas algebraicos y
trascendentes.

Encontrar la o las raíces de una ecuación requiere en general, dos pasos. El primero es la
determinación de uno o varios intervalos [𝑎, 𝑏] en el cual se encuentren comprendidas las
raíces buscadas. El segundo es trabajar en cada uno de esos intervalos para encontrar un valor
aproximado de la supuesta raíz contenida en el mismo. Sin embargo, hacer esto de forma
manual es sumamente agotado porque el procedimiento va a continuar hasta el infinito si no
le aplicamos un margen de error. El bucle o los procedimientos terminan cuando se halla
alcanzado el margen de error que se nos da en el problema, pero también hacer esto de forma
manual es cansado y es por eso se inventan o se hacen uso de algoritmos programados en
algún lenguaje de programación para que el ordenador lo realice de forma más rápida, pero
siempre hay que tener una condición (margen de error) ya que, si este no se pone, el
ordenador seguirá realizando el procedimiento hasta el infinito.

5
CAPITULO I
PRESENTACIÓN DE LA TEMÁTICA
1.1. FUNDAMENTACIÓN DEL TEMA

Las funciones trascendentes son funciones cuyo valor no se obtiene al realizar


algún conjunto de operaciones con la variable.

Una ecuación que no se reduce a una ecuación algebraica mediante


transformaciones algebraicas se denomina ecuación trascendente o de otra
manera, una ecuación 𝑓 (𝑥 ) = ℎ(𝑥) se llama trascendente, si por lo menos una de
las funciones 𝑓 (𝑥 ) o ℎ(𝑥) no es algebraica. Estas ecuaciones conllevan
logaritmos de cualquiera base de las incógnitas; las incógnitas como exponentes
o como argumentos de expresiones trigonométricas.

Ejemplos:

• 𝑥𝑒 𝑥 = 1
12
• cos 2 𝑥 = sin 𝑥 + 5

• 3 log11 (7𝑥 + 1) + 2 log 21 (𝑥 − 1) = 0

Determinar las raíces reales de ecuaciones algebraicas y trascendentes. Se


obtiene el valor de una sola raíz real basándose en un conocimiento de su posición
aproximada.

Para su solución es posible al análisis numérico, en lo general, que proporciona


diversas posibilidades de programación.

1.2. OBJETIVOS DEL ESTUDIO

1.2.1. OBJETIVO GENERAL

Determinar y saber en qué consiste cada uno de los métodos para encontrar
las raíces de funciones trascendentales.

6
1.2.2. OBJETIVOS ESPECÍFICOS

• En que consiste y cuáles son los métodos cerrados para encontrar las
raíces de funciones trascendentales.
• En que consiste y cuáles son los métodos abiertos para encontrar las raíces
de funciones trascendentales.
• En que consiste y cuáles son los métodos de raíces de polinomios para
encontrar las raíces de funciones trascendentales.

1.3. JUSTIFICACIÓN DEL TEMA

El presente trabajo fue elaborado para poder determinar y demostrar el uso de los
diferentes métodos para encontrar las raíces de funciones transcendentales, así
mismo fue con la finalidad de poder profundizar los temas y poner en práctica la
teoría de estos temas.

También la monografía servirá como un antecedente para los futuros lectores que
necesiten profundizar sus conocimientos relacionados a los temas que se trataron.

7
CAPITULO II
MARCO TEÓRICO
2.1. ANTECEDENTES DEL ESTUDIO

(Gutiérrez Olvera, 2016) en su tesis titulado “Métodos Numéricos Para Resolver


Ecuaciones Y Problemas De Optimización No Lineales” concluyo que los métodos
para resolver ecuaciones no lineales se encontraron los métodos: punto fijo,
bisección, falsa posición, Newton, secante.

En la Universidad de Salamanca la tesis “Desarrollo Conceptual de los Métodos


Iterativos en la Resolución de Ecuaciones no Lineales”, fue elaborada por
(Rodríguez Vásquez, 2010) estipula las ventajas de los métodos iterativos de la
siguiente forma:

Necesidad de la
Necesidad de Tipo de
Método continuidad de ventajas
un intervalo ecuación
𝑓′
Fuerte,
aplicable a
Bisección Si No Cualquiera
funciones no
analíticas.
Converge
lentamente en
Falsa Posición Si Si Cualquiera
intervalos
grandes.
Converge
rápidamente, se
necesita
Newton –
No Si Cualquiera calcular 𝑓′,
Raphson
aplicable a
raíces
complejas.
Rápido, no
Secante no si Cualquiera requiere
calcular 𝑓′.
(Cortés Rosas, Gonzáles Cárdenas, Pinilla Morán, Salazar Moreno, & Tovar Pérez,
2019) elaboraron una tesis para la UNAM que lleva por título “Método de Factores
cuadráticos” en cual demostraron la a facilidad de cálculo del método de los factores

8
cuadráticos contrasta con el proceso matemático que se requiere para la obtención
de sus fórmulas.

2.2. BASES TEÓRICAS

2.2.1. MÉTODOS CERRADOS

Un método cerrado o de intervalo es aquel que necesita de dos valores iniciales


para encontrar la raíz, estos valores deben encerrar o estar a ambos lados de la
raíz. Este método se caracteriza porque una función cambia de signo en un
intervalo que encierra la raíz y porque para desarrollar el algoritmo donde se
encuentra la raíz necesita de dos valores iniciales (límite inferior y límite
superior) entre los cuales se encuentra la misma.
Está a su vez se dividen en los siguientes metodos:
2.2.1.1. METODOS GRÁFICOS

Este método es muy sencillo de utilizar porque consiste en consiste


en graficar la función y observar en donde cruza el eje x, dicho punto
de corte que representa el valor de x para la cual 𝑓 (𝑥 ) = 0,
proporciona una aproximación inicial de la raíz. Esta técnica tiene un
valor limitado porque no siempre son exactas. Sin embargo, la
técnica de gráficos sirve para encontrar aproximaciones de la raíz que
pueden ser usados como valores iniciales para los métodos
numéricos.

2.2.1.2. MÉTODO DE LA BISECCIÓN

El método de la bisección también se le conoce como corte binario,


de partición de intervalos o de Bolzano. Este método hace una
búsqueda que va incrementando en el que el intervalo se divide por
la mitad. La raíz se determina en el medio del subintervalo dentro del
cual ocurre un cambio de signo.

9
Supongamos que 𝑓 es una función continua en el intervalo [𝑎, 𝑏] con
𝑓 (𝑎). 𝑓(𝑏) < 0, entonces existe un 𝑥 ′ dentro del intervalo tal que
𝑓 (𝑥 ′ ) = 0.

Proceso:

𝑎+𝑏
Se da una aproximación: 𝑥𝑚 = .
2

Se calcula 𝑓(𝑥𝑚 ) y se compara en el valor absoluto con el error dado


“𝛿”, si es menor o igual que este, entonces decimos que 𝑥𝑚 es una
raíz.

Se calcula 𝑓 (𝑎). 𝑓(𝑥𝑚 ) entonces:

𝑆𝑖: 𝑓(𝑎). 𝑓 (𝑥𝑚 ) > 0 → 𝑎 = 𝑥𝑚

𝑆𝑖: 𝑓(𝑎). 𝑓 (𝑥𝑚 ) < 0 → 𝑏 = 𝑥𝑚

𝑎−𝑏
Calcular el nuevo error: 𝑒 = | |.
2

Se repite el mismo procedimiento hasta encontrar una mejor


aproximación.

Sea 𝑛 al número de iteraciones que hay en el intervalo que se


designan por:

ln(𝑏 − 𝑎) − ln 𝛿
𝑛=
ln 2

Ejemplo

Obtener una raíz real del polinomio: 𝑓 (𝑥 ) = 𝑥 3 + 2𝑥 2 + 10𝑥 − 20


en el intervalo (1,2) con un error del 0.001.

Solucion:

Calculamos el número de iteraciones:

ln 1 − ln 0.001
𝑛= = 9.96 = 10
ln 2

10
Primera iteración:

Calculamos la aproximación

1+2
𝑥𝑚 = = 1.5
2

Evaluamos los valores iniciales en la función:

𝑓 (𝑎) = 𝑓 (1) = −7

𝑓 (𝑏) = 𝑓 (2) = 16

Evaluamos 𝑥𝑚 en la función:

𝑓 (𝑥𝑚 ) = 𝑓 (1.5) = 2.88

Calculamos en error:

1−2
𝑒=| | = 0.5 > 0.001
2

Como el error es mayor al error que nos dio el problema, se prolonga


la segunda iteración.

Segunda iteración:

Calculamos el nuevo intervalo:

𝑓 (1). 𝑓 (𝑥𝑚 ) = −20.16 < 0 → 𝑥𝑚 = 𝑏, 𝑎 = 𝑎

Calculamos la aproximación

1 + 1.5
𝑥𝑚 = = 1.25
2

Evaluamos los valores en la función:

𝑓 (𝑎) = 𝑓 (1) = −7

𝑓 (𝑏) = 𝑓(1.5) = 2.88

Evaluamos 𝑥𝑚 en función:

11
𝑓 (𝑥𝑚 ) = 𝑓 (1.25) = −2.42

Calculamos el error:

1 − 1.5
𝑒=| | = 0.25 > 0.001
2

Como el error es mayor al error que nos dio el problema, se prolonga


la tercera iteración. El procedimiento va a continuar hasta que el error
sea menor o igual al error que nos dio el problema.

La siguiente tabla muestra los valores obtenidos desde la primera


iteración hasta la décima:

𝑛 𝑎 𝑏 𝑥𝑚 |𝑓(𝑥𝑚 )| 𝑒
1 1 2 1.5 2.875 0.5
2 1 2 1.25 2.42188 0.25
3 1.250 1.500 1.375 0.13086 0.125
4 1.250 1.500 1.31250 1.16870 0.06250
5 1.3125 1.375 1.34375 0.52481 0.03125
6 1.34375 1.375 1.35938 0.19846 0.01563
7 1.35938 1.375 1.36719 0.03417 0.00781
8 1.36719 1.375 1.37109 0.04825 0.00391
9 1.36719 1.37101 1.36914 0.00702 0.00195
10 1.36719 1.36914 1.36816 0.01358 0.00098
11 1.36816 1.36914 1.36865 0.00329 0.00049
12 1.36865 1.36914 1.36890 0.00186 0.00025
13 1.36865 1.36890 1.36877 0.00071 0.00013

12
2.2.1.3. MÉTODO DE LA FALSA POSICIÓN

El método de posición falsa, también llamado de Regula-Falsi, este


método une 𝑓(𝑥1 ) con 𝑓(𝑥𝑢 ) a través de una línea recta, la
intersección de esta línea con el eje de las x representa una
aproximación de la raíz.

Se traza una línea recta que une los puntos A y B de coordenadas


(𝑥𝐼 , 𝑓 (𝑥𝐼 )) 𝑦 (𝑥𝐷 , 𝑓 (𝑥𝐷 )), respectivamente. Se remplaza 𝑓(𝑥) en el
intervalo (𝑥𝐼 ; 𝑥𝐷 ) con el segmento de recta ̅̅̅̅
𝐴𝐵 y el punto de
intersección de este segmento con el eje 𝑥, 𝑥𝑀 , será la siguiente
aproximación a 𝑥̅ .

Se evalúa 𝑓(𝑥𝑀 ) y se compara su signo con el de 𝑓(𝑥𝐷 ). Si son


iguales,𝑥𝐷 = 𝑥𝑀 ; si los signos son diferentes, 𝑥𝐼 = 𝑥𝑀 . El objetivo
es mantener los valores descritos (𝑥𝐷 𝑦 𝑥𝐼 ) cada vez más cercanos
entre sí y la raíz entre ellos. Se traza una nueva línea secante entre los
puntos actuales A y B, y se repite el proceso hasta que se satisfaga el
criterio de exactitud |𝑓(𝑥𝑀 )| < 𝜀1 , tomándose como aproximación a
𝑥
̅ el valor último de 𝑥𝑀 . Para terminar el proceso también puede
usarse el criterio |𝑥𝐷 − 𝑥𝐼| < 𝜀. En este caso, se toma como
aproximación a 𝑥
̅ la media entre 𝑥𝐷 𝑦 𝑥𝐼 .

13
Para calcular el valor de 𝑥𝑀 se hace uso de:

(𝑥𝐷 − 𝑥𝐼 )𝑓(𝑥𝐷 ) 𝑥𝐼 𝑓 (𝑥𝐷 ) − 𝑥𝐷 𝑓(𝑥𝐼 )


𝑥𝑀 = 𝑥𝐷 − =
𝑓 (𝑥𝐷 ) − 𝑓 (𝑥𝐼 ) 𝑓 (𝑥𝐷 )𝑓(𝑥𝐼 )

Ejemplo:

Hallar una raíz real del siguiente polinomio: 𝑓(𝑥 ) = 𝑥 3 + 2𝑥 2 +


10𝑥 − 20. En el intervalo de [1,2] con un minimo de error del 0.001.

Solución:

Calculamos 𝑥𝐼 𝑦 𝑥𝐷 evaluando la función en puntos donde sea fácil


el cálculo:

𝑓 (1) = −7; 𝑓 (2) = 16 → 𝑥𝐼 = 1, 𝑥𝐷 = 2

Hacemos uso de la ecuación:

(2 − 1)(16)
𝑥𝑀 = 2 − = 1.30435
16 − (−7)

Evaluamos los valores en la función:

𝑓 (𝑥𝐼 ) = −7

𝑓 (𝑥𝐷 ) = 16

𝑓(𝑥𝑀 ) =– l. 33476

Como el signo de 𝑓(𝑥𝑀 ) es diferente al signo de 𝑓(𝑥𝐷 ) → 𝑥𝐼 =


𝑥𝑀 , 𝑥𝐷 = 𝑥𝐷 , haciendo el nuevo intervalo (1.30435,2).

Calculamos la nueva aproximación:

(2 − 1.30435)(16)
𝑥𝑀 = 2 − = 1.35791
16 − (−l. 33476)

Evaluamos los valores en la función:

𝑓 (𝑥𝐼 ) =– l. 33476

𝑓 (𝑥𝐷 ) = 16

14
𝑓 (𝑥𝑀 ) =– 0.22914

Como el signo de 𝑓(𝑥𝑀 ) es diferente al signo de 𝑓(𝑥𝐷 ) → 𝑥𝐼 =


𝑥𝑀 , 𝑥𝐷 = 𝑥𝐷 , haciendo el nuevo intervalo (1.35791,2).

Y asi va a continuar el mismo procedimiento hasta |𝑓(𝑥𝑀 )| < 𝜀1

La siguiente tabla muestra los valores hasta satisfacer la condicion de


𝜀1 = 10−3

𝑖 𝑥𝐼 𝑥𝐷 𝑥𝑀 |𝑓(𝑥𝑀 )|
1 1 2 1.30435 1.33476
2 1.30435 2 1.35791 0.22914
3 1.35791 2 1.36698 0.03859
4 1.36698 2 1.36850 0.00648
5 1.36850 2 1.36876 0.00109
6 1.36850 2 1.36880 0.00018

15
2.2.2. MÉTODOS ABIERTOS

Los Métodos abiertos se basan en fórmulas que requieren únicamente de un


solo valor de inicio, o un par de ellos, pero que no necesariamente deben
encerrar a la raíz. Aunque algunas veces se alejan de la raíz, cuando
convergen, lo hacen de manera más rápida que los métodos cerrados.
Entre los métodos abiertos tenemos los siguientes métodos:
2.2.2.1. MÉTODO DEL PUNTO FIJO

También conocido como iteración simple de punto fijo, se basa en


reordenar la ecuación de tal manera que una función: 𝑥 = 𝑔(𝑥). Y
para esto se despeja el termino independiente con el mayor grado en
otros casos hay que agregar un 𝑥 a cada miembro.

Luego de eso hay que tantear una raíz; esto puede hacerse por
observación directa de la ecuación; se denota el valor de tanteo o
valor de inicio como 𝑥0 . Una vez que se tiene 𝑥0 , se evalúa 𝑔(𝑥 ) en
𝑥0 , y este resultado es 𝑥1 . El valor de 𝑥1 comparado con 𝑥0 presenta
los 2 siguientes casos:

2.2.2.1.1. CASO 1: 𝒙𝟏 = 𝒙𝟎

Esto indica que se ha elegido al valor inicial una raíz y que el


problema queda concluido.

2.2.2.1.2. CASO 2: 𝒙𝟏 ≠ 𝒙𝟎

Es el caso más frecuente, e indica que 𝑥1 𝑦 𝑥0 son distintos de


𝑥̅ . Esto es fácil de explicar, ya que si 𝑥̇ no es una raíz se tiene:
𝑓(𝑥)̇ ≠ 0. Por otro lado, si evaluamos 𝑔(𝑥) en 𝑥̇ , como
resultado nos da: 𝑔(𝑥)̇ ≠ 𝑥̇ .

Entonces se procede a una segunda evaluación de 𝑔(𝑥), ahora


en 𝑥1 , denotándose el resultado como 𝑥2 : 𝑔(𝑥1 ) = 𝑥2 . Este
proceso se repite y se obtiene lo siguiente:

16
𝒊 𝒙𝟎 𝒇(𝒙𝟎 )
1 𝑥1 = 𝑔(𝑥0 ) 𝑓(𝑥1 )
2 𝑥2 = 𝑔(𝑥1 ) 𝑓(𝑥2 )
3 𝑥3 = 𝑔(𝑥2 ) 𝑓(𝑥3 )
⁞ ⁞ ⁞
𝒊 −esima iteración 𝑥𝑖 = 𝑔(𝑥𝑖−1 ) 𝑓(𝑥𝑖 )
𝒊 + 𝟏 −esima iteración 𝑥𝑖+1 = 𝑔(𝑥1 ) 𝑓(𝑥𝑖+1 )
⁞ ⁞ ⁞
La condición de paro o error se basa en:

𝑥𝑖+1 − 𝑥𝑖
𝜀=| |
𝑥𝑖+1

Ejemplo:

Encuentre una aproximación a una raíz real de la ecuación: cos 𝑥 −


3𝑥 = 0 con un error del 𝜀 = 10−3 .

Solución:

Despejamos 𝑥 de la ecuación:

cos 𝑥
𝑥= = 𝑔(𝑥)
3

Tanteamos una de las raíces:

𝜋
𝑥0 =
8

Evaluamos el punto en la nueva función:

𝑔(𝑥0 ) = 0.30796

Calculamos el valor absoluto de 𝑓(𝑥0 ):

|𝑓(𝑥0 )| = 0.25422

Calculamos la otra raíz:

𝑥1 = 𝑔(𝑥0 ) = 0.30796

17
Evaluamos el punto en la nueva función:

𝑔(𝑥1 ) = 0.31765

Calculamos el valor absoluto de 𝑓(𝑥1 ):

|𝑓(𝑥1 )| = 0.02907

Calculamos el error:

0.30796 − 0.392699
𝜀=| | = 0.27516 > 10−3
0.30796

Como el error encontrado es mayor al error que nos da como


condición, seguimos haciendo el mismo procedimiento.

La siguiente tabla muestra los resultados obtenidos:

𝑖 𝑥𝑖 𝑔(𝑥𝑖 ) |𝑓(𝑥𝑖 )| 𝜀
𝜋
0 0.30796 0.25422
8
1 0.30796 0.31765 0.02907 0.27516
2 0.31765 0.31666 0.00298 0.03051
3 0.31666 0.31676 0.00031 0.00313
4 0.31676 0.31675 0.00003 0.00032
Por tanto, la aproximación de la raíz es:

𝑥
̅ = 0.31676

18
2.2.2.2. MÉTODO DE NEWTON – RAPHSON

La fórmula de Newton-Raphson, también llamado método de las


tangentes, es una de las más utilizadas. El método de Newton
Raphson es muy eficiente, aunque hay casos en los que su
funcionamiento no es el mejor, especialmente para obtener raíces
múltiples. Este método consiste en un procedimiento que lleva la
ecuación 𝑓 (𝑥 ) = 0 a la forma 𝑥 = 𝑔(𝑥), de modo que 𝑔′ (𝑥̅ ) = 0.

Trazamos la recta tangente a la curva en el punto (𝑥0 , 𝑓 (𝑥0 )), ésta


cruza al eje 𝑥 en un punto 𝑥𝑖+1 que será nuestra siguiente
aproximación a la raíz 𝑥̅ . Y para calcular esa aproximación primero
hallamos la ecuación de la recta y como tiene pendiente entonces la
ecuación es: 𝑦 − 𝑓 (𝑥𝑖 ) = 𝑓′(𝑥𝑖 )(𝑥 − 𝑥𝑖 ); hacemos a 𝑦 = 0 y queda
de la siguiente forma: −𝑓 (𝑥𝑖 ) = 𝑓′(𝑥𝑖 )(𝑥 − 𝑥𝑖 ) y por último
𝑓(𝑥 )
despejamos: 𝑥 = 𝑥𝑖 − 𝑓′(𝑥𝑖 ) y en general seria:
𝑖

𝑓 (𝑥𝑖 )
𝑥𝑖+1 = 𝑥𝑖 − = 𝑔(𝑥)
𝑓 ′(𝑥𝑖 )

𝑥𝑖+1 −𝑥𝑖
El error va a estar dada por: 𝜀 = | |.
𝑥𝑖+1

Ejemplo:

19
Hallar una de las raíces de: 𝑓 (𝑥 ) = 𝑥 3 + 2𝑥 2 + 10𝑥 − 20, con 𝑥0 =
1 y con un mínimo de error del 10−3

Solución:

1era iteración:

Evaluamos el punto dado en la función dada:

𝑓(𝑥0 ) = −7

Calculamos de derivada de la función y lo evaluamos en el punto


dado.

𝑓 ′(𝑥 ) = 3𝑥 2 + 4𝑥 + 10 ⇒ 𝑓 ′ (𝑥0 ) = 17

Hallamos el punto reemplazamos en la formula general:

−7
𝑥1 = 1 − ⇒ 𝑥1 = 1.41176
17

Calculamos el error:

1.41176 − 1
𝜀=| | = 0.29166 > 10−3
1.41176

Como el error es mayor a la condición dada, buscamos el 𝑥2 y


empleamos la fórmula:

2da iteración:

(1.41176)3 + 2(1.41176)2 + 10(1.41176) − 20


𝑥2 = 1.41176 −
3(1.41176) + 4(1.41176) + 10
= 1.36934

Calculamos el error:

1.36934 − 1.41176
𝜀=| | = 0.03098 > 10−3
1.36934

Como el error es mayor a la condición dada, buscamos el 𝑥3 . Este


método se va a repetir hasta que 𝜀 ≤ 10−3 .

20
La siguiente tabla muestra los valores obtenidos:

𝑖 𝑥𝑖 𝜀
0 1
1 1.41176 0.29166
2 1.36934 0.03098
3 1.36881 0.00039
Por lo tanto, la raíz aproximada es:
𝑥
̅ = 1.36881

2.2.2.3. MÉTODO DE LA SECANTE

El método de la secante elimina el problema de la derivada que se


tiene en el método de Newton Raphson a través de una aproximación
de diferencias finitas, con esta aproximación se obtiene la ecuación
del método de la secante. Requiere dos valores iniciales de 𝑥, pero
no es necesario que 𝑓(𝑥) cambie de signo entre los valores dados, es
decir que encierre a la raíz, por lo que se considera un método abierto.
Este método se basa en predecir un nuevo valor de 𝑥 en función del
valor anterior de 𝑥, de esta manera, dado un nuevo valor para 𝑥𝑖 se
tiene:

𝑓 (𝑥𝑖 )(𝑥𝑖 − 𝑥𝑖−1 )


𝑥𝑖+1 = 𝑥𝑖 − = 𝑔(𝑥)
𝑓 (𝑥𝑖 ) − 𝑓 (𝑥𝑖−1 )

Este procedimiento se va a repetir hasta que 𝑔(𝑥𝑖 ) ≈ 𝑥𝑖+1 o


|𝑥𝑖+1 − 𝑥𝑖 | < 𝜀

Ejemplo:

Encontrar una de las raíces del siguiente polinomio: 𝑓(𝑥 ) = 𝑥 3 +


2𝑥 2 + 10𝑥 − 20 = 0, para un 𝑥0 = 0 y 𝑥1 = 1; con un margen de
error del 0.001.

Solución:

Calculamos 𝑥2 empleando la formula dada:

21
𝑥2
(13 + 2(1)2 + 10(1) − 20)(1 − 0)
=1− 3
(1 + 2(1)2 + 10(1) − 20) − (03 + 2(0)2 + 10(0) − 20)
= 1.53846

Evaluamos el nuevo error:

𝜀1 = |1.53846 − 1| = 0.53846 > 0.001

Como el error es mayor a la condición dada por el ejercicio, hallamos


el 𝑥3 mediante la fórmula, y seguimos con el mismo procedimiento
hasta que 𝜀1 ≤ 𝜀.

La siguiente tabla muestra los resultados del ejercicio:

𝑖 𝑥𝑖 |𝑥𝑖+1 − 𝑥𝑖 |
0 0
1 1 1
2 1.53846 0.53846
3 1.35031 0.18815
4 1.36792 0.01761
5 1.36881 0.00090
Por lo tanto, la raíz aproximada es:
𝑥
̅ = 1.36881

22
2.2.3. RAÍCES DE POLINOMIOS

Este método, al igual que los anteriores sirven para determinar o encontrar una
de las raíces de polinomio y/o funciones. Y dentro de este método tenemos los
siguientes:
2.2.3.1. MÉTODO DE LOS FACTORES CUADRÁTICOS

Este método alternativo más eficiente que la popular división


sintética para obtener raíces de polinomios. Este método no requiere
de estimaciones empíricas; consisten en extraer de polinomios de
grado mayor a 2 pares de raíces en la forma 𝑥 2 + 𝑝𝑥 + 𝑞; este puede
resolverse por la formula general para ecuaciones de segundo grado,
lo que permite fácilmente obtener las raíces reales y complejas. Si el
polinomio es de grado n, se debe extraer raíces de 2 en 2 hasta que se
agote el procedimiento.

Sea el polinomio:

𝑝(𝑥 ) = 𝑎0 𝑥 𝑛 + 𝑎1 𝑥 𝑛−1 + 𝑎2 𝑥 𝑛−2 + ⋯ + 𝑎𝑛−1 𝑥 + 𝑎𝑛

Se divide entre: 𝑥 2 + 𝑝𝑥 + 𝑞 y resulta:

𝑝(𝑥 ) = (𝑥 2 + 𝑝𝑥 + 𝑞)(𝑏0 𝑥 𝑛−2 + 𝑏1 𝑥 𝑛−3 + 𝑏2 𝑥 𝑛−4 + ⋯ + 𝑏𝑛−3 𝑥


+ 𝑏𝑛−2 ) + 𝑅𝑥 + 𝑆

𝑝(𝑥 ) = 𝑏0 𝑥 𝑛 + 𝑝𝑏0 𝑥 𝑛−1 + 𝑞𝑏0 𝑥 𝑛−2 + 𝑏1 𝑥 𝑛−1 + 𝑝𝑏1 𝑥 𝑛−2


+ 𝑞𝑏1 𝑥 𝑛−3 + 𝑏2 𝑥 𝑛−2 + ⋯ + 𝑏𝑛−3 𝑥 3 + 𝑝𝑏𝑛−3 𝑥 2
+ 𝑞𝑏𝑛−3 𝑥 + 𝑏𝑛−2 𝑥 2 + 𝑝𝑏𝑛−2 𝑥 + 𝑞𝑏𝑛−2 + 𝑅𝑥 + 𝑆

Igualamos los coeficientes de porque ambos son de grado 𝑛.

𝐚𝟎 = 𝐛𝟎 𝐛𝟎 = 𝐚𝟎
𝐚𝟏 = 𝐛𝟏 + 𝐩𝐛𝟎 b1 = a1 − pb0
𝐚𝟐 = 𝐛𝟐 + 𝐩𝐛𝟏 + 𝐪𝐛𝟎 b2 = a2 − pb1 − qb0
𝐚𝟑 = 𝐛𝟑 + 𝐩𝐛𝟐 + 𝐪𝐛𝟏 b3 = a3 − pb2 − qb1
⁞ ⁞

23
𝐚𝐧−𝟏 = 𝐑 + 𝐩𝐛−𝟐 + 𝐪𝐛𝐧−𝟑 R = an−1 − pb−2 − qbn−3
𝐚𝐧 = 𝐒 + 𝐪𝐛𝐧−𝟐 S = an − qbn−2
En general los coeficientes del polinomio reducido están dados por:

𝑏𝑘 = 𝑎𝑘 − 𝑝𝑏𝑘−1 − 𝑞𝑏𝑘−2

Para: 𝑘 = 0,1,2,3 … (𝑛 − 2)

Donde: 𝑏−1 = 𝑏−2 = 0

Y los coeficientes 𝑅 𝑦 𝑆 son expresados de:

𝑅 = 𝑎𝑛−1 − 𝑝𝑏𝑛−2 − 𝑞𝑏𝑛−3 = 0

𝑆 = 𝑎𝑛 − 𝑞𝑏𝑛−2 = 0

Se iguala a cero porque 𝑥 2 + 𝑝𝑥 + 𝑞 debe ser un factor de 𝑝(𝑥). Y


despejando 𝑝 𝑦 𝑞:

𝒂𝒏−𝟏 − 𝒒𝒃𝒏−𝟑 𝒂𝒏
𝒑= 𝒒=
𝒃𝒏−𝟐 𝒃𝒏−𝟐
Y conociendo estos valores se podrán determinar los coeficientes del
polinomio reducido. El método propone que a partir de ciertos
valores iniciales para “p” y “q” mediante un proceso iterativo, se
puede llegar a determinar estos valores, para ello, vamos a definir los
incrementos ∆𝑝 y ∆𝑞.

∆𝒑 = 𝒑∗ − 𝒑 ∆𝒒 = 𝒒∗ − 𝒒
Donde: 𝑝∗ y 𝑞 ∗ son los nuevos valores calculados, considerando que
están dados por:

𝒂𝒏−𝟏 − 𝒒𝒃𝒏−𝟑 𝒂𝒏
𝒑∗ = 𝒒∗ =
𝒃𝒏−𝟐 𝒃𝒏−𝟐
Y reemplazando:

𝒂𝒏−𝟏 − 𝒒𝒃𝒏−𝟑 𝒂𝒏
∆𝒑 = −𝒑 ∆𝒒 = −𝒒
𝒃𝒏−𝟐 𝒃𝒏−𝟐

24
∆𝒑 𝒂𝒏 − 𝒒𝒃𝒏−𝟐
∆𝒒 =
𝒂𝒏−𝟏 − 𝒑𝒃𝒏−𝟐 − 𝒒𝒃𝒏−𝟑 𝒃𝒏−𝟐
=
𝒃𝒏−𝟐 𝑺
∆𝒒 =
𝑹 𝒃𝒏−𝟐
∆𝒑 =
𝒃𝒏−𝟐
Ejemplo

Sea el polinomio: 𝑝(𝑥 ) = 𝑥 4 − 𝑥 3 + 6𝑥 2 − 3𝑥 + 4 = 0, hallar las


raíces considerando 𝑝 = 𝑞 = 0.

Solución:

El grado del polinomio es: 𝑛 = 4, y el grado del polinomio reducido


es: 𝑘 = 2, y el polinomio de donde se extrae los factores cuadráticos
es:

𝑝(𝑥 ) = (𝑥 2 + 𝑝𝑥 + 𝑞)(𝑏0 𝑥 2 + 𝑏1 𝑥 + 𝑏2 ) + 𝑅𝑥 + 𝑆

Primera iteración:

𝑝=𝑞=0

𝑎3 −3
𝑝∗ = ∆𝑝 − 𝑝 = = = −0.5
𝑎2 6

𝑎4 4
𝑞 ∗ = ∆𝑞 − 𝑞 = = = 0.66667
𝑎2 6

Sea: 𝑏𝑘 = 𝑎𝑘 − 𝑝𝑏𝑏−1 − 𝑞𝑏𝑘−2 , para 𝑘 = 0,1,2 𝑦 𝑏−1 = 𝑏−2 = 0:

𝑏0 = 𝑎0 = 1

𝑏1 = 𝑎1 − 𝑝𝑏0 = −1 − (−0.5)(1) = −0.5

𝑏2 = 𝑎2 pb1 − qb0 = 6 − (−0.5)(−0.5) − (0.66667)(1)

b2 = 5.0834

𝑅 = a3 − p2 − qb1

R = −3 − (−0.5)(5.0834) − (0.66667)(−0.5) = −0.125

25
S = a4 − qb2 = 4 − (0.66667)(5.0834) = 0.6109

𝑅 0.125
∆p = =− = −0.0246
𝑏2 5.0832

𝑆 0.6109
∆𝑞 = = = 0.1202
𝑏2 5.0832

𝑝∗ = ∆𝑝 + 𝑝 = −0.0246 − 0.5 = −0.5246

𝑞∗ = ∆𝑞 + 𝑞 = 0.1202 + 0.66667 = 0.7868

Este procedimiento va a continuar hasta que: ∆𝑝 𝑦 ∆𝑞 se aproxime a


cero o a la condición que nos dé. La siguiente tabla muestra los
valores obtenidos:

𝑎𝑖 Iteraciones: 1 2 3 4 5 6
P −0,50000 −0,52459 −0,52902 −0,52992 −0,53010 −0,53013
Q 0,66667 0,78689 0,80585 0,80890 0,80939 0,8094
𝑎0 𝑏0 1,00000 1,00000 1,00000 1,00000 1,00000 1,00000
𝑎1 𝑏1 −0,50000 −0,47541 −0,47098 −0,47008 −0,46990 −0,46987
𝑎2 𝑏2 5,08333 4,96372 4,94499 4,94200 4,94152 4,94144
𝑎3 P −0,12500 −0,02199 −0,00446 −0,00088 −0,00017 −0,00003
𝑎4 S 0,61111 0,09412 0,01509 0,00243 0,00039 0,00006
∆𝑃 −0,02459 −0,00443 −0,00090 −0,00018 0,00003 −0,00001
∆𝑄 0,12022 0,01896 0,00305 0,00049 0,00008 0,00001
Como vemos en la 6ta iteración 𝑅, 𝑆, ∆𝑃 𝑦 ∆𝑄 se aproximan cada vez
mas a 0; el polinomio tendría la forma de:

𝑝(𝑥 ) = (𝑥 2 − 0.53013x + 0.80947)(x 2 − 0.46987x + 4.94144)


− 0.00003x + 0.00006

Finalmente, de las 2 ecuaciones de 2do grado que se forman,


empleando la formula general de una ecuación de 2do grado se
obtiene:

𝑥1 = 0,26495 + 0,8594i

26
𝑥2 = 0,26495 − 0,8594i

x3 = 0,2355 + 2,2112i

x4 = 0,2355 − 2,2112i

2.2.3.2. MÉTODO DE MÜLLER

El método de Müller puede ser visto como un mejoramiento del


método Regula Falsi. Regula Falsi toma en cuenta dos puntos sobre
la curva representativa de la función cuya raíz se busca y determina
con esos dos puntos una secante que aproxima a la función y cuya
intersección con el eje x es una mejor aproximación a la raíz buscada.

Por otra parte, el método de Müller consiste en tomar tres puntos


consecutivos sobre la curva representativa de la función, determinar
con esos tres puntos una parábola y seleccionar la raíz de esta que
mejor aproxima a la raíz buscada.

27
Se toman 3 valores iniciales 𝑥0 , 𝑥1 , 𝑥2 y se halla el polinomio 𝑝(𝑥 )
de grado 2 que pasa por los puntos
(𝑥0 , 𝑓(𝑥0 )), (𝑥1 , 𝑓(𝑥1 )) 𝑦 (𝑥2 , 𝑓(𝑥2 )), y se toma una de las raíces de
𝑝(𝑥), la más cercana a 𝑥2 , como la siguiente aproximación 𝑥3 . Se
repite la operación con los nuevos valores iniciales 𝑥1 , 𝑥2 , 𝑥3 , y se
termina el proceso tan pronto como se satisfaga algún criterio de
convergencia.

Entonces los coeficientes del polinomio de segundo grado son:

𝑓 (𝑥𝑖 ) − 𝑓(𝑥𝑖−1 )
𝑓(𝑥𝑖 , 𝑥𝑖−1 ) =
𝑥𝑖 − 𝑥𝑖−1

𝑓 (𝑥𝑖−1 ) − 𝑓 (𝑥𝑖−2 )
𝑓(𝑥𝑖−1 , 𝑥𝑥𝑖−2 ) =
𝑥𝑖−1 − 𝑥𝑖−2

𝑓(𝑥𝑖 , 𝑥𝑖−1 ) − 𝑓(𝑥𝑖−1 , 𝑥𝑥𝑖−2 )


𝑓(𝑥𝑖 , 𝑥𝑖−1 , 𝑥𝑖−2 ) =
𝑥𝑖 − 𝑥𝑖−2
Y la función de la parábola que pasa por los
puntos: (𝑥0 , 𝑓(𝑥0 )), (𝑥1 , 𝑓(𝑥1 )) 𝑦 (𝑥2 , 𝑓(𝑥2 )) es:

𝑝(𝑥 ) = 𝑓(𝑥𝑖 ) + 𝑓 (𝑥𝑖 , 𝑥𝑖−1 )(𝑥 − 𝑥𝑖 )


+ 𝑓 (𝑥𝑖 , 𝑥𝑖−1 , 𝑥𝑖−2 )(𝑥 − 𝑥𝑖 )(𝑥 − 𝑥𝑖−1 )

𝑝(𝑥 ) = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2

Al comprar estas 2 expresiones tenemos:

𝑎2 = 𝑓 (𝑥𝑖 , 𝑥𝑖−1 , 𝑥𝑖−2 )

𝑎1 = 𝑓 (𝑥𝑖 , 𝑥𝑖−1 ) − (𝑥𝑖 + 𝑥𝑖−1 )𝑎2

𝑎0 = 𝑓 (𝑥𝑖 ) − 𝑥𝑖 [𝑓(𝑥𝑖 , 𝑥𝑖−1 ) − 𝑥𝑖−1 𝑎2 ]

Luego calcular los valores correspondientes las raíces de 𝑝(𝑥) se


determinan a partir de la siguiente formula:

2𝑎0
𝑥𝑖+1 =
−𝑎1 ± √𝑎12 − 4𝑎0 𝑎2

28
Ejemplo:

Encontrar una de las raíces del siguiente polinomio: 𝑥 3 + 2𝑥 2 +


10𝑥 − 20 = 0. Tomando los valores iniciales de: 𝑥0 = 0, 𝑥1 =
1, 𝑥2 = 2.

Solución:

Primera iteración:

Evaluamos los puntos en la función:

𝒇 (𝒙 𝟎 ) 𝒇(𝒙𝟏) = −𝟕 𝒇(𝒙𝟐 ) = 𝟏𝟔
= −𝟐𝟎
Calculamos los coeficientes del polinomio de grado 2:

𝑓 (𝑥1 ) − 𝑓 (𝑥0 ) −7 − (−20)


𝑓 (𝑥1 , 𝑥0 ) = = = 13
𝑥1 − 𝑥0 1−0

𝑓 (𝑥2 ) − 𝑓(𝑥1 ) 16 − (−7)


𝑓(𝑥2 , 𝑥1 ) = = = 23
𝑥2 − 𝑥1 2−1

𝑓 (𝑥2 , 𝑥1 ) − 𝑓 (𝑥1 , 𝑥0 ) 23 − 13
𝑓 (𝑥2 , 𝑥1 , 𝑥0 ) = = =5
𝑥2 − 𝑥0 2−0

Entonces:

𝑎2 = 𝑓 (𝑥2 , 𝑥1 , 𝑥0 ) = 5

𝑎1 = 𝑓 (𝑥2 , 𝑥1 ) − (𝑥2 + 𝑥1 )𝑎2 = 23 − (2 + 1)5 = 8

𝑎0 = 𝑓 (𝑥2 ) − 𝑥2 [𝑓 (𝑥2 , 𝑥1 ) − 𝑥1 𝑎2 ] = 16 − 2(23 − 1(5)) = −20

Calculamos el denominador de la fórmula:

−𝑎1 + √𝑎12 − 4𝑎0 𝑎2 = −8 + √64 + 400 = 13.54066

−𝑎1 − √𝑎12 − 4𝑎0 𝑎2 = −8 − √64 + 400 = −29.54066

29
Como vemos el segundo valor es mayor en absolutos que el primer
valor, lo usamos para determinar el 𝑥3 :

2𝑎0 2(−20)
𝑥3 = = = 1.35407
−𝑎1 − √𝑎12 − 4𝑎0 𝑎2 −29.54066

Calculamos el error con la siguiente formula:

𝑥3 − 𝑥2 1.35407 − 2
𝜀=| | 100% = | | 100% ⇒ 𝜀 = 47.70285%
𝑥3 1.35407

Segunda iteración:

Para esta iteración tenemos:

𝒙𝟎 = 𝟏 𝒙𝟏 = 𝟐 𝒙𝟐
𝒇(𝒙𝟎) = −𝟕 𝒇(𝒙𝟏 ) = 𝟏𝟔 = 𝟏. 𝟑𝟓𝟒𝟎𝟕
𝒇(𝒙𝟐 ) = −𝟎. 𝟑𝟎𝟗𝟓𝟗
Por lo tanto, tenemos lo siguiente:

𝑓 (𝑥1 ) − 𝑓(𝑥0 ) 16 + 7
𝑓 (𝑥1 , 𝑥0 ) = = = 23
𝑥1 − 𝑥0 2−1

𝑓(𝑥2 ) − 𝑓 (𝑥1 ) −0.30959 − 16


𝑓 (𝑥2 , 𝑥1 ) = = = 25.24978
𝑥2 − 𝑥1 1.35407 − 2

𝑓 (𝑥2 , 𝑥1 ) − 𝑓 (𝑥1 , 𝑥0 ) 25.24978 − 23


𝑓 (𝑥2 , 𝑥1 , 𝑥0 ) = = = 6.35405
𝑥2 − 𝑥0 1.35407 − 1

Entonces:

𝑎2 = 𝑓 (𝑥2 , 𝑥1 , 𝑥0 ) = 6.35405

𝑎1 = 𝑓 (𝑥2 , 𝑥1 ) − (𝑥2 + 𝑥1 )𝑎2


= 25.24978 − (1.35407 + 2)6.35405 = 3.87077

𝑎0 = 𝑓 (𝑥2 ) − 𝑥2 [𝑓 (𝑥2 , 𝑥1 ) − 𝑥1 𝑎2 ]
= −0.30959 − 1.35407(25.24978
− 2(6.35405)) = – 17.29190

30
Calculamos el denominador de la fórmula:

−𝑎1 + √𝑎12 − 4𝑎0 𝑎2 = 17.39295

−𝑎1 − √𝑎12 − 4𝑎0 𝑎2 =– 25.26855

Como vemos el segundo valor es mayor en absolutos que el primer


valor, lo usamos para determinar el 𝑥3 :

2𝑎0
𝑥3 = = 1.36865
−𝑎1 − √𝑎12 − 4𝑎0 𝑎2

Calculamos el error con la siguiente formula:

𝑥3 − 𝑥2 1.36865 − 1.35407
𝜀=| | 100% = | | 100% ⇒ 𝜀
𝑥3 1.36865
= 1.06528%

Este procedimiento va a continuar hasta que el error estimado sea lo


más mínimo posible. La tabla muestra los resultados obtenidos:

𝑖 𝑥𝑖 𝜀
0 0
1 1 100%
2 2 50%
3 1.35407 47.70285%
4 1.36865 1.06528%
5 1.36881 0.01169%

31
CONCLUSIONES
• Los métodos cerrados hacen uso de 2 valores iniciales de la función para poder
encontrar la raíz de la función; dentro de lo métodos cerraos se encuentran los
métodos gráficos, método de la bisección y método de la falsa posición.
• Los métodos abiertos hacen uso de un solo valor inicial y de acuerdo con este valor
se va encontrando las raíces aproximadas de la función; dentro de esto método
tenemos: método del punto fijo, método de Newton – Raphson y el método de la
secante.
• El método de raíces de polinomios, al igual que los anteriores sirven para determinar
las raíces próximas de la función, sin embargo; con este método se puede encontrar
raíces reales, complejas e imaginarias, sin recurrir hacia otros métodos, dentro de
estos se encuentran: método de factores cuadráticos y el método de Müller.

32
REFERENCIAS BIBLIOGRÁFICAS
1. Cortés Rosas, j. J., Gonzáles Cárdenas, M. E., Pinilla Morán, V. D., Salazar Moreno,
A., & Tovar Pérez, V. H. (2019). Método de Factores Cuadráticos. México :
Universidad Nacional Autónoma de México.

2. Gutiérrez Olvera, L. (2016). Métodos Numéricos Para Resolver Ecuaciones y


Problemas de Optimización no Lineal. México : Unervidad Nacional Autónoma de
México .

3. Lucía Chaillou, L. (2008). Calculo Numerico. Santiago del Estero: Universidad


Nacional de Santiago del Estero.

4. Nieves Hurtado, A., & Domínguez Sánchez, F. C. (2014). Métodos Numéricos


Aplicados a la Ingeniería. Mexico: Grupo Editorial Patria.

5. Rodríguez Vásquez, F. M. (2010). Desarrollo Conceptual de los Métodos Iterativos


en la Resolución de Ecuaciones no Lineales. Salamanca: Universidad de Salamanca.

6. Sandoval, H. (2017). Metodos Numericos.

7. Seminario Vasquez, R. (2015). Metodos Numericos para Ingenieria. Barcelona.

8. Torres Soler, L. C. (2010). Metodos numericos. Bogota: Universidad Nacional de


Colombia.

9. Vigueras Campuzano, A. (2016). Calculo Numerico. Cartagena: Universidad


Politécnica de Cartagena.

33
ANEXOS
ALGORITMO DEL MÉTODO DE LA BISECCIÓN

Este algoritmo se llevo a cabo con el lenguaje de programación de c++.

#include <iostream>
#include <iomanip>
#include <cmath>
#include <math.h>
#define PRECISION 6
using namespace std;
double f(double x);
void imprimePuntos(double a, double b);
int main()
{
cout << setprecision(PRECISION);
double a, b, tolerancia;
cout<<"\n\t\t\tMETODO DE LA BISECCION"<<endl;
cout<<"\t\t\t========================"<<endl;
cout<<"\n\tIngrese el intervalo inicial [a, b]"<<endl;
cout<<"\n\ta = ";cin >>a;
cout<<"\tb = ";cin >> b;
imprimePuntos(a, b);
cout<<"\n\tEscoja el intervalo adecuado" << endl;
cout<<"\n\ta = ";cin >> a;
cout<<"\n\tb = ";
cin >> b;
float xr;
if(f(a)*f(b)>0)
{
cout <<"\n\tNo se puede aplicar el metodo de la biseccion"<<endl;
cout << "\tporque f("<<a<<") y f("<<b<<") tiene el mismo signo"<< endl;
}
else
{
cout << "\n\tTolerancia = ";cin >> tolerancia;
cout << "\n\ta\tb\tx\tf(a)\t\tf(b)\t\tf(x)\n" <<endl;
do
{
xr=(a+b)/2.0;
cout<<"\t"<<a<<"\t"<<b<<"\t"<<xr<<"\t"<<f(a)<<"t"<<f(b)<<"\t"<<f(xr)<<endl;
if(abs(f(xr))<=tolerancia)
{
cout <<"\n\n\tPara una tolerancia "<<tolerancia<<" la raiz de f es:"<<xr<<endl;
break;
}
else
{
if(f(xr)*f(a)>0)
{
a = xr;
}
else
{

34
if (f(xr)*f(b)>0)
{
b = xr;
}
}
}
}
while(1);
}
cin.get();
cin.get();
return 0;
}
double f(double x)
{
return (pow(x,3))+(2*pow(x,2))+(10*x)-20; //se coloca la funcion a evaluar
}
#define INTERVALOS 10
void imprimePuntos(double a, double b)
{
int puntos=INTERVALOS+1;
double ancho=(b-a)/INTERVALOS;
cout <<"\n";
cout <<"\tx\tf(x)\n" << endl;
for (int i=0;i<puntos;i++)
{
cout <<"\t"<<a<<"\t"<<f(a)<<endl;
a=a+ancho;
}
}

Programa ejecutado, es el mismo ejemplo que se elaboró a mano

35
ALGORITMO DEL MÉTODO DE LA FALSA POSICIÓN

Al igual que el algoritmo anterior, este método también se elaboró su algoritmo a base de un
lenguaje de programación en c++.

#include <iostream>
#include <iomanip>
#include <cmath>
#include <math.h>
#define PRECISION 6
#define INTERVALOS 10
using namespace std;
void tabula(double a, double b);
double f(double x);
int main()
{
system("color 8a");
cout<< setprecision(PRECISION);
cout<<"\n\t\t\tMETODO DE LA FALSA POSICION"<<endl;
cout<<"\t\t\t==========================="<<endl;
cout<<"\n\tIngrese el intervalo inicial [a,b]:"<< endl;
double a, b, tolerancia;
cout<<"\n\ta = ";cin>>a;
cout<<"\tb = ";cin>>b;
tabula(a,b);
cout<<"\n\tEscoja el intervalo adecuado"<< endl;
cout<<"\n\ta = ";cin>>a;
cout<<"\tb = ";cin>>b;
double xr;
double xa = 0;
if(f(a)*f(b)>0)
{
cout<<"\n\tNo se puede aplicar el metodo de la falsa posicion"<<endl;
cout<<"\tporque f("<<a<<") y f("<<b<<") tienen el mismo signo"<< endl;

}
else
{
cout<<"\tIngrese la tolerancia = ";cin>>tolerancia;
cout<<"\n\ta\tb\tx\tf(a)\t\tf(b)\t\tf(x)\n"<<endl;
do
{
xr=b-f(b)*((b-a)/(f(b)-f(a)));
cout<<"\t"<<a<<"\t"<<b<<"\t"<<xr<<"\t"<<f(a)<<"\t"<<f(b)<<"\t"<<f(xr)<<endl;
if(fabs(xr-xa)/fabs(xr)<=tolerancia)
{
cout<<"\n\n\tPara una tolerancia de: "<<tolerancia<<" la raiz de f es:
"<<xr<<endl;
break;
}
else
{
xa=xr;
if(f(xr)*f(a)>0)

36
{
a = xr;
}
else
{
if(f(xr)*f(b)>0)
{
b = xr;
}
}
}
}
while(1);
}
cin.get();
cin.get();
return 0;
}
void tabula(double a, double b)
{
int puntos=INTERVALOS+1;
double ancho=(b-a)/INTERVALOS;
cout<<"\n\tx\tf(x)"<<endl;
for(int i=0;i<puntos;i++)
{
cout<<"\t"<<a<<"\t"<<f(a)<<endl;
a=a+ancho;
}
}
double f(double x)
{
return (pow(x,3))+(2*pow(x,2))+(10*x)-20; //se coloca la funcion que deseamos evaluar.
}

Programa ejecutado, es el mismo ejemplo que se elaboró a mano

37
ALGORITMO DEL MÉTODO DEL PUNTO FIJO

Para la elaboración del algoritmo de este método, se usó el lenguaje de programación de


Matlab.

function puntoFijoEd
fprintf('\n\t\t\tMETODO DEL PUNTO FIJO\n');
fprintf('\t\t\t=====================\n');
gx=input('\n\Ingrese la función g(x) que está igualada a x: ','s');
g=inline(gx);
x=input('\n\Ingrese el valor inicial de x: ');
maxiter=input('\n\Ingrese el número máximo de iteraciones: ');
error=input('\n\Ingrese el error minimo: ');
i=1;
fprintf('\nItera \t Valor de x \t Error\n');
fprintf('0 \t %f \t \n',x);
while (i<=maxiter)
a=x;
x=g(a);
e=abs(x-a);
fprintf('%d \t %1.6f \t \t %f \n',i,x,e);
if(e<error)
i=maxiter+1;
end
i=i+1;
end
fprintf('\n\tEl valor aproximado de x es: %f con un error de : %f
\n',x,e);
end

Programa ejecutado, es el mismo ejemplo que se elaboró a mano

38
ALGORITMO DEL MÉTODO DE NEWTON – RAPHSON

Para la elaboración del algoritmo del método de Newton – Raphson, se empleo el lenguaje
de programación c++.

#include<iostream>
#include<iomanip>
#include<cmath>
#include<math.h>
#define PRECISION 10
#define MAX_ITERACIONES 100
#define INTERVALOS 6
using namespace std;
void tabula(double a,double b,int intervalos);
double f(double x);
double f_derivada(double x);
int main()
{
system("color 8a");
double a;
double b;
double tolerancia;
double x0;
double x1;
double error;
int iteracion;
bool converge =true;
cout<<setprecision(PRECISION);
cout<<"\n\t\t\tMETODO DE NEWTON - RAPHSON"<<endl;
cout<<"\t\t\t=========================="<<endl;
cout<<"\n\tIngrese el intervalo inicial [a,b]:"<<endl;
cout<<"\n\ta = ";cin>>a;
cout<<"\tb = ";cin>>b;
tabula(a,b,INTERVALOS);
cout<<"\n\tEscoja el punto inicial adecuado: x0 = ";cin>>x0;
cout<<"\n\tTolerancia = ";cin>>tolerancia;
cout<<"\n\tAproximacion inicial:\n";
cout<<"\tx0 = "<<x0<<"\n"<<"\tf(x0) = "<<f(x0)<<"\n"<<"\tf'(x0) = "<<f_derivada(x0)<<endl;
iteracion = 1;
do{
if(iteracion>MAX_ITERACIONES)
{
converge=false;
break;
}
else
{
x1=x0-f(x0)/f_derivada(x0);
error=fabs(x1-x0);
cout<<"\n\tIteracion #"<<iteracion<<endl;
cout<<"\tx"<<iteracion<<" = "<<x1<<"\n"<<"\tf(x"<<iteracion<<") =
"<<f(x1)<<"\n"<<"\tf'(x"<<iteracion<<") = "<<f_derivada(x1)<<"\n"<<"\terror = "<<error<<endl;
if(error<=tolerancia)
{

39
converge=true;
break;
}
else
{
x0=x1;
iteracion++;
}
}
}
while(1);
if(converge)
{
cout<<"\n\n\tPara una tolerancia de: "<<tolerancia<<" la raiz de f es: "<<x1<< endl;
}
else
{
cout <<"\n\n\tSe sobrepasó la máxima cantidad de iteraciones permitidas"<<endl;
}
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 (pow(x,3)+(2*(pow(x,2)))+(10*x)-20);//se coloca la funcion
}

double f_derivada(double x)
{
return ((3*(pow(x,2)))+(4*x)+10);//se coloca la derivada de la funcion.
}

40
Programa ejecutado, es el mismo ejemplo que se elaboró a mano

41
ALGORITMO DEL MÉTODO DE LA SECANTE

Para la elaboración del algoritmo del método de la secante, se empleó el lenguaje de


programación c++.

#include<iostream>
#include<iomanip>
#include<cmath>
#include<math.h>
using namespace std;
double f(double x)
{
return pow(x,3)+2*pow(x,2)+10*x-20;//se coloca la funcion
}
int main()
{
char salir;
int n,nmax;
float error;
double x0,x1,x2,tol;
do
{
system("cls");
cout<<"\n\t\t\tMETODO DE LA SECANTE"<<endl;
cout<<"\t\t\t===================="<<endl;
cout<<"\n\tIngrese el valor de x_0: ";cin>>x0;
cout<<"\n\tIngrese el valor de x_1: ";cin>>x1;
cout<<"\n\tIngrese el valor de la tolerancia: ";cin>>tol;
cout<<"\n\tIngrese el numero maximo de iteraciones: ";cin>>nmax;
n=1;
cout<<"\n\tITER"<<"\tx_0"<<"\t\tx_1"<<"\t\tx_2"<<"\t\tERROR"<<endl;
while(abs(x1-x0)>tol*(abs(x1)+1) && n<nmax)
{
x2=x1-(f(x1)*(x0-x1))/(f(x0)-f(x1));
x0=x1;
x1=x2;
error=abs(x2-x0);

cout<<"\n\t"<<n<<"\t"<<setprecision(6)<<x0<<"\t\t"<<setprecision(6)<<x1<<"\t\t"<<setprecision(6
)<<x2<<"\t\t"<<setprecision(6)<<error<<endl;
n++;
}
cout<<"\n\tDesea salir? s/n ";cin>>salir;
}
while(salir!='s' && salir!='S');
return 0;
}

42
Programa ejecutado, es el mismo ejemplo que se elaboró a mano

43
ALGORITMO DEL MÉTODO DE FACTORES CUADRÁTICOS

Para la elaboración del algoritmo de este método, se usó el lenguaje de programación de


Matlab.

clear all;
clc;
syms x
t=[];
y=[];
e=[];
z=[];
u=0;
n=2;
g=0;
h=[];
o=[];
errora=1;
errorb=1;
tool=0;
fprintf('\n\t\t\tMETODO DE FACTORES CUADRATICOS\n');
fprintf('\t\t\t==============================\n');
f=input('\n\Ingrese la funcion a evaluar: ');
coeffs(f);
t=sym2poly(f);
k=length(t);
u=length(t);
p=length(t);
x=k;
a=input('Ingrese punto r: ');
b=input('Ingrese punto s: ');
tool=input('\nIngrese la tolerancia: ');
y(1)=1;
z(1)=1;
while (t(1)~=1)
fprintf('\n\nerror el primer termino deber ser de valor 1, vuelva a
ingresar polinomio...' )
clear all;
syms x
t=[];
y =[];
e=[];
u=0;
n=2;
g=0;
h=[];
o=[];
errora=1;
errorb=1;
tool=0;
f=input('\nIngrese la funcion a evaluar: ');
coeffs(f);
t=sym2poly(f);
k=length(t);
u=length(t);

44
p=length(t);
x=k;
a=input('Ingrese punto r: ');
b=input('Ingrese punto s: ');
tool=input('\nIngrese la tolerancia: ');
y(1)=1;
z(1)=1;
end
if (u==2)
r1=-t(2);
tool=1;
end
if (u==3)
r1=(-t(2)+((t(2))^2-4*t(3))^(1/2))/2;
r2=(-t(2)-((t(2))^2-4*t(3))^(1/2))/2;
end
while u>3
for i=1:k-1
if i<2
y(i+1)=a*t(i)+t(i+1);
else
y(i+1)=a*y(i)+b*y(i-1)+t(i+1);
end
end
for i=1:k-2
if i<2
z(i+1)=a*y(i)+y(i+1);
else
z(i+1)=a*z(i)+b*z(i-1)+y(i+1);
end
end
y=fliplr(y);
z=fliplr(z);
da=(y(1)*z(3)-y(2)*z(2))/((z(2))^2-z(1)*z(3));
db=(y(2)*z(1)-y(1)*z(2))/((z(2))^2-z(1)*z(3));
y=fliplr(y);
z=fliplr(z);
errora=da/a;
errorb=db/b;
a=a+da;
b=b+db;
u=length(y);
if (tool>abs(errora) | tool>abs(errorb) & u==1)
r5=(-a/b);
end
if (tool>abs(errora) | tool>abs(errorb) & u==2)
r3=(a+(a^2+4*b)^(1/2))/2;
r4=(a-(a^2+4*b)^(1/2))/2;
end
if (tool>abs(errora) | tool>abs(errorb) & u>=3)
r1=(a+(a^2+4*b)^(1/2))/2;
r2=(a-(a^2+4*b)^(1/2))/2;
g=g+1;
o(g)=r1;
h(g)=r2;
for (j=1:p-n)
e(j)=y(j);

45
end
y=e;
z=[];
z(1)=1;
t=e;
k=length(y);
u=length(y);
n=n+2;
errora=1;
errorb=1;
e=[];
end
end
fprintf('\n\tLas raices de la funcion son: \n');
if x==2
r1
end
if x==3
r1
r2
end
if x>3 & u==2
o
h
r5
end
if x>3 & u==3
o
h
r3
r4
end
fprintf('\n\tLos valores de r y s son: %f',a);
fprintf('\n%1.6f',b);

Programa ejecutado, es el mismo ejemplo que se elaboró a mano

46
ALGORITMO DEL MÉTODO DE MÜLLER

El algoritmo del método de Müller fue elaborado en el software de programación Matlab.

function [F]= Muller()


clc;
fprintf('\n\t\t\tMETODO DE MULLER\n');
fprintf('\t\t\t================\n');
f=input('\nIngrese la funcion: ');%la funcion tiene que estar entre
comillas '...'
x0=input('\nIngrese el valor de x_0: ');
x1=input('\nIngrese el valor de x_1: ');
x2=input('\nIngrese el valor de x_2: ');
e=input('\nIngrese el error: ');
fx=inline(f);
k=0;
xi=0;
sigue=1;
while(sigue)
xi=x2;
k=k+1;
fprintf('\n\tIteracion: ');
fprintf('%f',k);
h0=x1-x0;
h1=x2-x1;
d0=(fx(x1)-fx(x0))/h0;
d1=(fx(x2)-fx(x1))/h1;
a=(d1-d0)/(h1+h0);
b=a*h1+d1;
c=fx(x2);
raizd=sqrt(b^2-4*a*c);
if(abs(b+raizd)>abs(b-raizd))
den=b+raizd;
else
den=b-raizd;
end
dxr=-2*c/den;
xr=x2+dxr;
sigue=abs(dxr)/xr>e || k<c || abs(fx(xr))>e;
et=abs(xr-x2)/xr;
ea=et*100;
x0=x1;
x1=x2;
x2=xr;
fprintf('\n\tEl valor de x aproximado: ');
fprintf('%f',xi);
fprintf('\n\tError aproximado: ');
fprintf('%f',ea);
fprintf('\n');
end

47
Programa ejecutado, es el mismo ejemplo que se elaboró a mano

48

También podría gustarte