Prog Metnum 2020-1 Apuntes Unidad 2
Prog Metnum 2020-1 Apuntes Unidad 2
Prog Metnum 2020-1 Apuntes Unidad 2
Los métodos numéricos son técnicas para expresar mediante simples operaciones aritméticas un
problema matemático mas complejo y de esta forma poder resolverlo. Por tanto todos los métodos
numéricos constituyen un gran numero de cálculos aritméticos. Estos se vuelven tediosos de utilizar
para el humano pero sencillos de ejecutar en un sistema de computo moderno.
1.- Métodos exactos o analíticos. Útiles solo en problemas lineales, geometría simple o baja dimensión.
Estos métodos son muy limitados ya que la gran mayoría de problemas reales son no lineales, con
formas y procesos complejos.
3.-Métodos numéricos. El problema con los métodos numéricos sin un sistema computacional es que
resulta tedioso y lento realizar manualmente todas las operaciones aritméticas requeridas, de tal forma
que esta sujeta a posibles errores y equivocaciones.
El realizar la tediosa labor de la técnica para resolver el problema, hacia que se le diera mucha
importancia a la ejecución de la técnica en lugar de dársela a la formulación del problema o a su
interpretación.
Actualmente con el uso de los sistemas informáticos y de los métodos numéricos la ejecución de la
técnica que resuelve el problema resulta sencillo de implementar, ayudándonos a que nos podamos
enfocar mas a la definición del problema y a la interpretación del resultado, así como a su
incorporación al sistema total al ser este parte de un sistema mayor o mas complejo.
Los métodos numéricos han ganado popularidad gracias a la creciente evolución de las computadoras.
Al principio las computadoras (en los 50’s) eran sumamente costosas por lo que muchos ingenieros se
veían obligados a seguir utilizando métodos tradicionales(analíticos) para gran parte de su trabajo, pero
con el bajo coste de los equipos de computo a lo largo de los años, ha hecho posible que muchas
personas puedan sacar provecho utilizando métodos numéricos.
Raíces de ecuaciones.
Este problema consiste en encontrar el valor de x para f(x) = 0.
Para resolver este tipo de problema sin el empleo de sistemas de computo, se utilizaban 3 métodos
principalmente, el analítico, el grafico y el de prueba y error. El analítico consiste en métodos como la
−b± √ b 2−4 ac
formula cuadrática( x= ) para resolver un trinomio cuadrado (ax² + bx + c = 0), el
2a
problema con esto es que existen funciones que no se pueden resolver de forma analítica, como por
ejemplo ( f (x)=e− x – x ) . El método grafico consiste en graficar la función y observar en que punto
cruza el eje de las x. El problema con el método grafico es la precisión. El método de prueba y error
consiste en elegir un valor de x y evaluar si f(x) = 0, si esto no se cumple se elige otro valor de x y se
vuelve a evaluar si f(x) = 0, y así sucesivamente hasta encontrar el valor de x que satisfaga f(x) = 0.
Estos métodos no cumplen con las exigencias de la ingeniería ya que son ineficientes e inadecuados.
Error de redondeo: Son aquellos que se presentan debido a la limitación de los sistemas
computacionales de representar cantidades con un numero finito de dígitos.
Error de truncamiento: Son aquellos que se presentan cuando realizamos una aproximación por algún
método numérico a diferencia de una formulación matemática exacta de un problema.
Para ambos tipos de errores la relación entre el valor verdadero, el calculado y el error es la siguiente:
Ahora bien, el valor numérico del error por si solo, no nos dice mucho sobre su magnitud del error con
respecto a el valor verdadero, de tal manera que una forma de compensar esto, es normalizando el error
con respecto a el valor verdadero y multiplicándolo por 100, de tal manera que el error quede
representado en un porcentaje de error. Quedando de la siguiente manera:
error verdadero
Ev = 100 %
valor verdadero
error aproximado
Ea= 100 %
valor aproximado
Uno de los retos de los métodos numéricos es hacer estimaciones de error cuando se desconocen los
valores verdaderos. Existen métodos numéricos que son iterativos y que la intención es que con cada
iteración se van aproximando mas y mas al error real, y para esto se va tomando en cuenta las
iteraciones anteriores en las nuevas iteraciones, quedando de la siguiente manera el valor porcentual:
Esto resulta en realizar una aproximación iterando hasta llegar a un valor de error aproximado
porcentual propuesto que cumple como una tolerancia establecida para un problema dado.
Teorema de Bolzano: “Si una función f es continua en un intervalo (a,b) y f(a) tiene signo diferente
que f(b), entonces existe por lo menos un punto r en (a,b) tal que f(r) = 0”.
Pasos para obtener una solución a f(x) = 0 dada la función f continua en el intervalo (a,b), donde f(a) y
f (b) tienen signos opuestos:
Dada la ecuación f(x) = x³ + 4x² – 10 = 0 que tiene una raíz en los intervalos (1,2)
En el método de la regla falsa se traza una linea recta entre los puntos que definen el intervalo de la
función continua que tiene valores f (X l ) y f (X u ) de diferente signo.
De tal forma que para calcular el punto Xr, utilizamos la siguiente ecuación:
f ( X u )( X l− X u)
X r =X u−
f ( X l )−f ( X u )
Pasos para obtener una solución a f(x) = 0 dada la función f continua en el intervalo ( X l , X u ) , donde
f (X l ) y f (X u ) tienen signos opuestos:
Aparentemente el método de la regla falsa resulta una mejor opción para calcular la raiz de una
función, pero en la siguiente imagen se percibe la realidad, que no podemos decir que uno es mejor que
el otro, ya que el desempeño del método dependerá de la función en cuestión.
Aquí podemos apreciar gráficamente que para acercarnos a la raíz se necesitaran de muchas mas
iteraciones con el método de la regla falsa que con el método de bisección.
Programación y Métodos Numéricos Marco Cabrera Ver. 0.1 2020-1
Universidad Autónoma de Baja California Apuntes
Facultad de Ciencias Químicas e Ingeniería Unidad 2
Comparación del método de la secante con el método de la falsa posición, donde se puede apreciar que
para esta función en especifico el método de la secante es divergente y el método de la falsa posición es
convergente, pero cuando el método de la secante es convergente, converge mas rápido que el de la
falsa posición.
Raíces Múltiples.
Una raíz múltiple a diferencia de una raíz simple es que ese valor de x donde fx es cero(que esta en el
eje de las x), es tangencial a la función.
Por ejemplo, f (x)=x 3 – 5 x2 +7 x – 3 tiene una raíz doble, si factorizamos la ecuación quedaría como:
f (x)=( x – 3)( x – 1)( x – 1) donde podemos ver que dos de los factores nos dan una raíz en el valor
de x=1 , en la siguiente figura podemos ver como este punto es tangencial a la función.
Existen 3 puntos importantes que cave mencionar al momento de calcular la raíz para raíces múltiples:
1) Si la multiplicidad es par y la función en este punto no cruza el eje de las x, no podríamos utilizar
ningún método cerrado.
2) Para los métodos newton-raphson y la secante un posible problema es que en tanto la derivada y la
aproximación con cociente de diferencias se aproximan a cero en la raíz y esto podría ocasionar una
división entre cero, para esto hay que tener en cuenta que función se aproximara a cero antes de su
derivada por lo tanto es importante checa en el programa cuando fx a llegado a cero y parar.
3)Es posible utilizar una modificación al método de newton-raphson propuesta por Ralston y
Rabinowitz(1978) en donde en un principio proponen un pequeño cambio a la formula.
Donde la “m” es la multiplicidad de la raíz, el problema con esto es que se necesita saber de antemano
la multiplicidad de la raíz.
División Sintética(Antecedente).
Es un método para dividir un polinomio P( x) en un divisor d ( x)=x−c , que nos dará como
resultado un polinomio q( x) y r ( x) , tal que, P( x)=q(x )d ( x )+r ( x) , donde r ( x) es 0 o
de grado menor que q( x) .
1. Tomar los coeficientes del polinomio ordenado, donde para el caso de una potencia de x
inexistente se colocaría un 0 como coeficiente.
2. Del lado izquierdo colocar c y trazar lineas de división tal y como se muestra en la imagen:
5. Sumar a_ n−1 y c∗b n−1 para obtener el segundo coeficiente de nuestro polinomio resultante
q( x) , al cual llamaremos bn−2 .
7. Repetir el paso anterior para obtener los siguientes coeficientes bn− 4 ,b n−5 , b n−6 … hasta llegar a
a0 .
8. La respuesta esta dada por el cociente q( x) y el residuo r ( x) . La división del polinomio grado
n sobre el polinomio divisor grado 1 nos dará como resultado un polinomio cociente de grado
n−1 , llamado q( x) y un residuo r ( x) .
Ejemplo :
Si tenemos el polinomio p(x)=x ³−6 x ²+11 x−6 y un divisor d ( x)=x−1 , al aplicar la división
sintética obtenemos:
1 -6 11 -6
1 1 -5 6
1 -5 6 0
de modo tal que p(x)=q( x )∗d ( x )+ r ( x) , así que para comprobar realizamos lo siguiente:
de esta manera comprobamos que en efecto p(x)=q( x )∗d ( x )+ r ( x) nos dará el polinomio inicial
propuesto p(x)=x ³−6 x ²+11 x−6 .
El método de Birge Vieta aplica Newton-Raphson para encontrar una raíz del polinomio P( x) . En
un punto determinado x k evaluá P( x k ) y P’ (x k ) con la división sintética. Al encontrar una
raíz k i , elimina el factor ( x−k i ) haciendo uso de la división sintética y continua sobre el
polinomio resultante, continuando este proceso hasta encontrar todas las raíces del polinomio P( x) .
Ejemplo:
Primer iteración:
P( x k ) → P(0.83333333)
1 -2 -5 6
.83333333 .83333333 -0.97222222 -4.97685183
1 -1.16666667 -5.9722222 1.02314816
P' ( x k ) → P(0.83333333)
1 -1.16666667 -5.9722222
.83333333 .83333333 -0.2777777
1 -0.33333334 -6.2499999
Aplicando Newton-Raphson:
1.02314816
x=.83333333−( ) = .997037037
−6.2499999
P( x k ) → P(.997037037)
1 -2 -5 6
.997037037 0.997037037 -0.99999122 -5.98221347
1 -1.00296296 -5.99999122 0.017786531
P' ( x k ) → P(.997037037)
1 -1.00296296 -5.99999122
.997037037 .997037037 -0.00590837
1 -0.00592593 -6.00589959
Aplicando Newton-Raphson:
0.017786531
x=.997037037−( ) = 0.999998547
−6.00589959
P( x k ) → P(0.999998547)
1 -2 -5 6
0.999998547 0.999998547 -1 -5.99999128
1 -1.00000145 -6 -0.000008718
P' ( x k ) → P(0.999998547)
1 -1.00000145 -6
0.999998547 0.999998547 -0.000002906
1 -0.000002906 -6.000002906
Aplicando Newton-Raphson:
−0.000008718
x=0.999998547−( ) =1
−6.000002906
x=1 es una raíz que ya hemos encontrado, para comprobar que cuando x =1 , P(x) = 0 podemos
simplemente sustituir el valor en la ecuación P( x)=x 3−2 x 2−5 x+ 6 o utilizando los coeficientes
mediante la división sintética:
Recordemos que P( x)=q(x )d ( x )+r ( x) y que d ( x)=x−c ,si nosotros queremos evaluar x=c
Tenemos que P(c )=q (c)(c−c)+r = 0+r = r , por lo tanto si nosotros queremos saber el
valor que tiene P( x) para un valor especifico de x , solo tenemos que hacer la división sintética
y obtener el residuo.
De modo tal que aplicándolo a nuestro polinomio P( x)=x 3−2 x 2−5 x+ 6 con x=1
1 -2 -5 6
1 1 -1 -6
1 -1 -6 0
de esta manera vemos como el residuo de la división es cero, por lo tanto cuando x=1 , P( x)=0
, comprobando de esta manera que x=1 es una raíz, entonces el factor es ( x−1) y debemos de
eliminar este factor de nuestro polinomio P( x)=x 3−2 x 2−5 x+ 6 utilizando la división sintética
para poder continuar con la segunda iteración del método Birge Vieta. En la tabla anterior donde
comprobamos que x=1 es raíz, obtenemos los coeficientes (1,-1,-6) , recordando que obtendremos
un polinomio de grado n-1, asi de esta manera el nuevo polinomio resultante es:
x 2−x−6
Segunda iteración
P( x k ) → P(−0.16666666)
1 -1 -6
-0.16666666 -0.16666666 0.19444444
1 -1.16666666 -5.80555556
P' ( x k ) → P(−0.16666666)
1 -1.16666666
-0.16666666 -0.16666666
1 -1.3333333
Aplicando Newton-Raphson:
−5.80555556
x=−0.16666666−( ) = -4.52083338
−1.3333333
P( x k ) → P(−4.52083338)
1 -1 -6
-4.52083338 -4.52083338 24.95876783
1 -5.52083338 18.95876783
P' ( x k ) → P(−4.52083338)
1 -5.52083338
-4.52083338 -4.52083338
1 -10.0416668
Aplicando Newton-Raphson:
18.95876783
x=−4.52083338−( ) = -2.63282332
−10.0416668
P( x k ) → P(−2.63282332)
1 -1 -6
-2.63282332 -2.63282332 9.564581954
1 -3.63282332 3.564581954
P' ( x k ) → P(−2.63282332)
1 -3.63282332
-2.63282332 -2.63282332
1 -6.26564664
Aplicando Newton-Raphson:
3.564581954
x=−2.63282332−( ) = -2.06391445
−6.26564664
P( x k ) → P(−2.06391445)
1 -1 -6
-2.06391445 -2.06391445 6.323657307
1 -3.06391445 0.323657307
P' ( x k ) → P(−2.63282332)
1 -3.06391445
-2.06391445 -2.06391445
1 -5.1278289
Aplicando Newton-Raphson:
0.323657307
x=−2.06391445−( ) = -2.00079664
−5.1278289
P( x k ) → P(−2.00079664)
1 -1 -6
-2.00079664 -2.00079664 6.003983835
1 -3.00079664 0.003983835
P' ( x k ) → P(−2.00079664)
1 -3.00079664
-2.00079664 -2.00079664
1 -5.00159328
Aplicando Newton-Raphson:
0.003983835
x=−2.00079664−( ) = -2.00000013
−5.00159328
P( x k ) → P(−2.00079664)
1 -1 -6
-2.00000013 -2.00000013 -6.00000065
1 -3.00000013 0.00000065
P' ( x k ) → P(−2.00079664)
1 -3.00000013
-2.00000013 -2.00000013
1 -5.00000026
Aplicando Newton-Raphson:
0.00000065
x=−2.00000013−( ) = -2
−5.00000026
x=−2 es nuestra segunda raíz encontrada, para verificarlo realizaremos la división sintética a
nuestro polinomio resultante de esta segunda iteración x 2−x−6 , con el factor (x+2).
1 -1 -6
-2 -2 6
1 -3 0
Como se puede apreciar el valor del residuo es cero por lo tanto cuando x=−2 entonces, P( x)=0
y el factor resultante es ( x−3) por lo tanto la otra raíz es x=3 .
Entonces el polinomio P( x)=x 3−2 x 2−5 x+ 6 tiene 3 raíces, x=1 , x=−2 y x=3
De modo tal, que el polinomio principal es equivalente a la multiplicación de los factores encontrados
con la división sintética, es decir, P( x)=x 3−2 x 2−5 x+ 6 = ( x−1)( x+2)( x−3) para comprobar:
De este modo queda comprobado que las 3 raíces encontradas son correctas.