You are on page 1of 58

Tecnológico Nacional de México Instituto Tecnológico de Puebla

Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Tecnológico Nacional de México

Instituto Tecnológico de Puebla

Departamento de Ciencias Básicas

Apuntes de Métodos Numéricos

Por el

Dr. Ing. Ricardo Victoria López

Enero 2017

1
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Índice

1.- Análisis de error 3

2.-Raices de ecuaciones 5

3.-Derivacion e integración numérica 13

4.-Solucion de sistemas de ecuaciones lineales 20

5.- Solución de sistemas de ecuaciones NO lineales 33

6.- Interpolación 38

7.-Solución de ecuaciones diferenciales 47

Apéndice.- programación en javascript/html 54

2
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1.- Análisis de error

Para poder conocer si el resultado de un cálculo es correcto, se desarrollaron diversos métodos


numéricos, estos se basan en la comparación de los valores calculados con anteriores cálculos o
con los valores verdaderos.

Es necesario hacer notar que el análisis de error surgió como una necesidad del desarrollo de las
computadoras, al igual que el resto de los métodos numéricos, cuyo objetivo es realizar
operaciones matemáticas complejas utilizando únicamente operaciones aritméticas básicas, las
cuales por cierto eran las únicas disponibles en los primeros lenguajes de programación.

A pesar del desarrollo de los elementos computacionales, es decir tanto del software como del
hardware, los métodos numéricos no caen en la obsolescencia al ser siempre más sencillo
programarlos en cualquier lenguaje de alto nivel moderno que intentar programar cada regla
algebraica necesaria para resolver un problema en especifico, incluso el software que parece
manejar algebra en realidad continua usando muchos de los métodos numéricos, pero usando una
programación diferente.

1.1 Error verdadero

La primera forma de evaluar un cálculo es a través del error verdadero cuya fórmula aparece a
continuación:

(𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 − 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐)


𝜖𝜖 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣% = � � 100
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣

El error verdadero tiene un inconveniente en su aplicación directa como evaluador de otros


métodos numéricos y es que normalmente el valor verdadero de un cálculo no se conoce con
anterioridad, pues de ser así no tendría ningún caso calcular algo si se conoce con anterioridad su
resultado.

3
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1.2 Error aproximado

Para evitar la paradoja anterior se utiliza el denominado error aproximado, donde se comparan las
iteraciones actuales y anteriores. La iteración es un cálculo recursivo, es decir que se calcula
usando la misma fórmula, aunque cada vez que se calcula produce un resultado diferente, la
mayoría de los métodos numéricos son iterativos, es decir que van aproximándose hacia un
resultado final cada vez que se substituyen datos en la formula usada. El error aproximado se
calcula como sigue:

(𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 − 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎)


𝜖𝜖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎% = � � 100
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎

La obtención de un error aproximado pequeño no implica que el método numérico haya obtenido
la solución correcta esto es debida a que el error aproximado evalúa la precisión y no la exactitud.

1.3 Exactitud y Precisión

La mayoría de las personas manejan indiscriminadamente las palabras exactitud y precisión, como
si significado fuera el mismo y es que los lingüistas también los manejan con total indiscriminación
como se puede comprobar ampliamente en el diccionario en línea de la real academia de la lengua
española.

Para conocer cuál es la diferencia entre precisión y exactitud sigamos una sencilla abstracción,
supongamos que compramos una calculadora nueva, la encendemos y ejecutamos la siguiente
operación:

5+5

Presionamos el signo igual y la calculadora muestra como resultado 12, evidentemente el


resultado es incorrecto. Esto nos sorprende, así que buscamos reiniciarla y volvemos a ejecutar la
misma operación a lo que la calculadora muestra de nuevo 12 como resultado y de nuevo
ejecutamos la misma operación con el mismo resultado Podemos entonces concluir que dicha
calculadora es inexacta pero precisa. Es inexacta porque no entrega el valor verdadero y es precisa
porque siempre obtiene el mismo resultado. Una vez decepcionados de esa calculadora la
cambiamos y en otra realizamos la misma operación obteniendo ahora un resultado de 10, lo cual
nos alegra, para corroborar su buen funcionamiento volvemos a ejecutar la misma operación y

4
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

ahora arroja como resultado 9.5 después otra vez volvemos a realizarla y nos da como resultado
11.3, ante tales resultados podemos concluir que esta segunda calculadora fue exacta en la
primera vez que se realizo el cálculo, sin embargo, posteriormente cada vez que se ejecutaron las
siguientes operaciones los resultados cambiaban en cada ejecución por lo tanto la calculadora es
imprecisa ya que no entrega siempre los mismos resultados para las mismas operaciones.

Es así como podemos definir a la exactitud como la divergencia del valor calculado respecto al
valor verdadero mientras que la precisión es la repetitibilidad de los resultados de una operación.

Los métodos numéricos idealmente deberían ser evaluados tanto en su exactitud como en su
precisión, sin embargo esto no es posible por las razones mencionadas en los párrafos anteriores y
solo son evaluados por su precisión, por ello son propensos a caer en la divergencia, es decir que
los resultados que proporcionen no sean exactos aunque sean precisos, esto es inevitable para
todos los métodos numéricos sin excepción, no obstante la mayoría de los métodos numéricos
han sido ampliamente comprobados en distintas situaciones a lo largo de décadas y se puede
concluir que son bastante confiables, aun con la posibilidad mencionada anteriormente.

2.- Raíces de ecuaciones

El cálculo de las raíces de las ecuaciones es una de las primeras aplicaciones de los métodos
numéricos, las ecuaciones no necesitan ser polinomiales ni tener un grado máximo, lo cual
muestra la versatilidad de los métodos numéricos, dentro de ellos existen dos categorías las cuales
son:

Métodos cerrados

Métodos abiertos

2.1 métodos cerrados

Los métodos cerrados fueron los primeros en ser desarrollados y tienen como características que
necesitan dos valores iníciales para calcular la raíz, los cuales deben incluir forzosamente la raíz a
calcular y solamente esa raíz, el intervalo entre dichos valores iníciales puede ser muy grande
mientras no incluya otra raíz de la ecuación. Esto representa un cierto inconveniente, ya que si se
debe conocer el intervalo aproximado donde debe encontrarse una raíz se cae en una paradoja.

5
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Por otra parte los métodos cerrados son también los más lentos para obtener la raíz de la
ecuación, es decir que necesitan un mayor número de iteraciones para poder alcanzar un error
aproximado aceptable, como ventaja de los métodos cerrados es que una vez que los valores
iníciales han sido correctamente seleccionados se tiene certeza de su convergencia absoluta. Los
métodos cerrados son dos el método de bisección y el método de regla falsa.

2.1.1 método de bisección

El método de bisección es el más sencillo de implementar en cualquier lenguaje de programación,


ya que cada iteración usa la siguiente fórmula:

𝑥𝑥𝑖𝑖 + 𝑥𝑥𝑢𝑢
𝑥𝑥𝑟𝑟 =
2

Donde x r es la aproximación a la raíz, x i es el valor inicial inferior y x u es el valor inicial superior,


con cada iteración los valores de x i y x u pueden cambiar de acuerdo al:

Criterio de convergencia

Si f(x i )f(x r )>0 entonces x i+1 =x r y x u+1 =x u

Si f(x i )f(x r )<0 entonces x i+1 =x i y x u+1 =x r

Si f(x i )f(x r )=0 entonces x r es la raíz

Donde f(x i ) y f(x r ) son las substituciones de x i y x r respectivamente en la ecuación a resolver,


usemos este método ejemplificándolo en una ecuación sencilla.

Ejemplo:

Obtener por medio del método de bisección la raíz de la ecuación 3x-3=0 usando valores iníciales
x i =-0.8 y x u =3.3hasta un ε aproximado %<75%.

1era. Iteración

−0.8 + 3.3
𝑥𝑥𝑟𝑟 = = 1.25
2

f(-0.8)=3(-0.8)-3=-5.4

6
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

f(1.25)=3(1.25)-3=0.75

(-5.4)(0.75)=-4.05 por tanto <0

2da. iteración

x i =-0.8 x u =1.25

−0.8 + 1.25
𝑥𝑥𝑟𝑟 = = 0.225
2

0.225 − 1.25
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 455%
0.225

f(0.225)=3(0.225)-3=-2.325

f(-0.8)=-5.4

(-2.325)(-5.4)=12.555 por tanto >0

3era. iteración

x i =0.225 x u =1.25

0.225 + 1.25
𝑥𝑥𝑟𝑟 = = 0.7375
2

0.7375 − 0.225
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖% = � � 100 = 69.49%
0.7375

Como se puede observar las aproximaciones a la raíz cuyo valor verdadero es 1 van reduciendo su
error es decir el método va convergiendo pero se necesitan varias iteraciones para llegar a dicho
valor.

2.1.2 método de la regla falsa

Ante la evidente ineficiencia del método de bisección se desarrollo otro método cerrado
denominado de la regla falsa cuya fórmula aparece a continuación:

𝑓𝑓(𝑥𝑥𝑢𝑢 )(𝑥𝑥𝑖𝑖 − 𝑥𝑥𝑢𝑢 )


𝑥𝑥𝑟𝑟 = 𝑥𝑥𝑢𝑢 −
𝑓𝑓(𝑥𝑥𝑖𝑖 ) − 𝑓𝑓(𝑥𝑥𝑢𝑢 )

7
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Al igual que en el método de bisección los valores de x i y x u deben contener a la raíz y pueden
cambiar con cada iteración usando el mismo:

Criterio de convergencia

Si f(x i )f(x r )>0 entonces x i+1 =x r y x u+1 =x u

Si f(x i )f(x r )<0 entonces x i+1 =x i y x u+1 =x r

Si f(x i )f(x r )=0 entonces x r es la raíz

Aplicaremos el método de la regla falsa en nuestro

Ejemplo:

Obtener por medio del método de regla falsa la raíz de la ecuación 3x-3=0 usando valores iníciales
x i =-0.8 y x u =3.3 hasta un εaproximado%<75%.

1era.iteracion

f(-0.8)=3(-0.8)-3=-5.4

f(3.3)=3(3.3)-3=6.9

6.9(−0.8 − 3.3)
𝑥𝑥𝑟𝑟 = 3.3 − =1
−5.4 − 6.9

f(1)=3(1)-3=0

(-5.4)(0)=0 por tanto 1 es la raíz

Como se observa la rapidez del método de regla falsa es mucho mayor que la del método de
bisección.

2.2 métodos abiertos

Los métodos abiertos se desarrollaron a partir de la necesidad de encontrar los valores de las
raíces sin tener que usar un intervalo de valores donde se encuentre la raíz, como es el caso de los
métodos cerrados. Hay tres métodos abiertos que son:

8
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Método de iteración de punto fijo

Método de Newton-Raphson

Método de la secante

2.2.1 método de iteración de punto fijo

A diferencia de otros métodos numéricos el método de iteración de punto fijo no tiene una
formula especifica, más bien consiste en despejar de la ecuación original la variable de la cual se
obtendrá la raíz y usando dicho despeje se calculan cada una de las iteraciones.

Eso evidentemente representa algunos problemas en la programación en los lenguajes de alto


nivel ya que se tienen que programar las reglas de despejes antes de implementar el método
como tal, además existen algunas ecuaciones donde el despeje de la variable entrega como
resultado un número fijo, el cual por cierto no es la raíz de la ecuación, por lo tanto se deben usar
ciertos "trucos" para despejar la variable de tales ecuaciones.

Por si esto fuera poco, el método de iteración de punto fijo es bastante proclive a no converger a
la solución correcta de la ecuación o peor aun divergir completamente o incluso oscilar, no
obstante en algunas ecuaciones donde otros métodos son ineficientes o incluso incompetentes el
método de iteración de punto fijo demuestra su valor al obtener a la raíz rápidamente.

Usaremos el método de iteración de punto fijo en nuestro:

Ejemplo:

Obtener por medio del método de iteración de punto fijo la raíz de la ecuación 3x-3=0 usando el
valor inicial x i =-0.8 hasta un εaproximado%<75% o un máximo de tres iteraciones.

1era iteración

despejamos x de nuestra ecuación original

3
𝑥𝑥1 = =1
3

9
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

La cual es la raíz de la ecuación, algunos piensan que este valor es entonces la solución por
iteración de punto fijo y de hecho es la solución algebraica de la ecuación, el problema es que no
hay forma de substituir el valor inicial en el despeje de la ecuación, por lo tanto se puede usar un
"truco" para lograr obtener una ecuación recursiva ese "truco" consiste en sumarle y restarle la
misma variable a la ecuación como se observa a continuación:

3𝑥𝑥 − 3 + 𝑥𝑥 − 𝑥𝑥 = 0

La ecuación como tal no se debe ver afectada matemáticamente, sin embargo este "truco"
permite convertirla en recursiva, así el despeje de x de esta nueva ecuación será:

𝑥𝑥 = 3𝑥𝑥 − 3 + 𝑥𝑥 = 4𝑥𝑥 − 3

Regresando a la 1era iteración

𝑥𝑥1 = 4(−0.8) − 3 = −6.2

2da. Iteración

𝑥𝑥2 = 4(−6.2) − 3 = −27.8

−27.8 − (−6.2)
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 77.7%
−27.8

3era iteración

𝑥𝑥2 = 4(−27.8) − 3 = −114.2

−114.2 − (−27.8)
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 75.7%
−114.2

Como se puede observar por los resultados del ejemplo anterior los valores calculados distan
mucho de la raíz de la ecuación y aun cuando el error aproximado disminuya poco, esto no implica
la convergencia del método hacia la raíz correcta de la ecuación. Para solucionar este problema se
desarrollo el método de Newton-Raphson.

2.2.2 método de Newton-Raphson

10
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

El método de Newton-Raphson une todas las bondades de los anteriores métodos numéricos y
evita sus inconvenientes, es fácil de programar, rápido, versátil y confiable tanto así que es el
método preferido para analizar el despacho económico en los sistemas eléctricos de potencia, el
cual cobra importancia capital en los mercados desregulados de energía. Su fórmula es la
siguiente:

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

Donde f'(x i ) es la derivada de la función evaluada en el punto x i , de ahí se puede observar que la
derivada provoca una aproximación tangencial hacia la raíz, lo cual explica la rapidez del método.
Usaremos este método en nuestro

Ejemplo:

Obtener por medio del método de Newton-Raphson la raíz de la ecuación 3x-3=0 usando valor
inicial x i =-0.8 hasta un εaproximado%<75% o un máximo de tres iteraciones.

1era iteración

f'(x)=3

f(-0.8)=3(-0.8)-3=-5.4

f'(-0.8)=3

−5.4
𝑥𝑥1 = −0.8 − =1
3

Que es la raíz sin embargo se necesita realizar una

2da iteración

f(1)=3(1)-3=0

f'(1)=3

0
𝑥𝑥2 = 1 − =1
3

11
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1−1
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 0%
1

Se comprueba así la velocidad del método, su único inconveniente es la programación de la


derivada de la función para remediar tal inconveniente se desarrollo el método de la secante.

2.2.3 método de la secante

Dicho método usa las secantes para aproximarse hacia la raíz, esto naturalmente disminuye un
poco la velocidad respecto al método de Newton-Raphson, de hecho la fórmula del método de la
secante se basa en la derivación numérica como se ve a continuación:

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


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

Como se observa de la formula este método necesita dos valores iníciales aunque estos no
necesitan contener a la raíz de hecho estos valores son un valor inicial y uno anterior, usaremos
este método en nuestro.

Ejemplo:

Obtener por medio del método de la secante la raíz de la ecuación 3x-3=0 usando valores iníciales
x i =-0.8 y x i-1 =0 hasta un εaproximado%<75% o un máximo de tres iteraciones.

1era iteración

f(-0.8)=3(-0.8)-3=-5.4

f(0)=3(0)-3=-3

−5.4(0 − (−0.8))
𝑥𝑥1 = −0.8 − =1
−3 − (−5.4)

Que es la raíz pero se necesita una

2da iteración

f(1)=3(1)-3=0

12
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

0(−0.8 − 1)
𝑥𝑥1 = 1 − =1
−5.4 − 0

1−1
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 0%
1

Se observa que para este caso, la velocidad de Newton-Raphson y de la secante es igual aunque
esto depende de la ecuación que se desee resolver.

3.-Derivacion e integración numérica

Los métodos numéricos que se desarrollaron para derivar e integrar no son iterativos, por lo cual
no se puede calcular su error aproximado, su exactitud depende mayormente en el tamaño de
paso o el numero de intervalos como se verá a continuación.

3.1 Derivación numérica

Para derivar numéricamente solo existe un método, el cual es altamente dependiente de que el
punto donde se evalué la derivada sea mucho mayor que el tamaño de paso, así como también del
numero de decimales que se usan en la formula, por estos motivos se recomienda usar siempre
todos los decimales posibles en el cálculo mejorando así la exactitud del cálculo. La fórmula para la
primera derivada se presenta a continuación:

𝑓𝑓(𝑥𝑥0 + ℎ) − 𝑓𝑓(𝑥𝑥0 − ℎ)
𝑓𝑓´(𝑥𝑥0 ) =
2ℎ

Donde h es el tamaño de paso y x 0 es el punto donde se evalúa la derivada. La fórmula para


obtener la segunda derivada es la siguiente:

𝑓𝑓(𝑥𝑥0 + ℎ) − 2𝑓𝑓(𝑥𝑥0 ) + 𝑓𝑓(𝑥𝑥0 − ℎ)


𝑓𝑓´´(𝑥𝑥0 ) =
ℎ2

Usaremos un ejemplo sencillo para mostrar la manera de calcular la primera y segunda derivadas
numéricas

Ejemplo

Calcular la primera y segunda derivada respecto a x de la función 5x³-2x en el punto x 0 =2 con


h=0.01

13
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

f(2+0.01)=5(2.01³)-2(2.01)=36.583005

f(2-0.01)=5(1.99³)-2(1.99)=35.422995

f(2)=5(2³)-2(2)=36

36.583005 − 35.422995
𝑓𝑓´(2) = = 58.0005
2(0.01)

36.583005 − 2(36) + 35.422995


𝑓𝑓´´(2) = = 60
0.012

A manera de comprobación, evaluamos la derivada algebraica en el mismo punto

f'(2)=15(2²)-2=58

f"(2)=30(2)=60

De aquí podemos calcular el error verdadero para cada derivada a manera de evaluar la exactitud

58 − 58.0005
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 8.62 × 10−4 %
58

60 − 60
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑% = � � 100 = 0%
60

Los errores son bastante pequeños lo que demuestra la eficiencia de dichos métodos numéricos.

3.2 Integración numérica

Para obtener las integrales de cualquier función numéricamente existen básicamente 3 métodos,
aunque algunos autores difieren sobre la fórmula para evitar una pérdida de información se
incluyen aquí dos formulas diferentes para el mismo método, dejando al lector, el poder de
decisión sobre cual preferir. Los métodos son:

Regla trapezoidal

Regla de Simpson 1/3

Regla de Simpson 3/8 (normal)

14
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Regla de Simpson 3/8 (rara)

3.2.1 Regla trapezoidal

La regla trapezoidal igual que los demás métodos se basa en la obtención de las substituciones de
algunos valores en la función a integrar para después sumarlos, se puede decir que el número de
intervalos en los que se evalúa la función es proporcional a la exactitud del método, en otras
palabras entre más intervalos más exactitud. Primero se necesita calcular el tamaño de paso
usando la siguiente fórmula:

𝑏𝑏 − 𝑎𝑎
ℎ=
𝑛𝑛

Donde h es el tamaño de paso, b es el límite superior de la integral, a es el límite inferior y n es el


numero de intervalos. Una vez calculado el tamaño de paso se usa para realizar una tabulación de
los valores en los que se evalúa la integral y se aplica la siguiente fórmula para obtenerla:

𝑏𝑏
1 1
� 𝑓𝑓(𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ ℎ � 𝑦𝑦0 + 𝑦𝑦1 + 𝑦𝑦2 + 𝑦𝑦3 + ⋯ 𝑦𝑦𝑛𝑛 �
𝑎𝑎 2 2

Donde y 0 , y 1 , y 2 etc. son las substituciones de los valores tabulados en la función a integrar,
usaremos un ejemplo para mostrar la forma de aplicar el método.

Ejemplo

Obtener la integral de la función 5x³-2x con respecto a x desde 2.1 hasta 3.8 con 5 intervalos
usando la regla trapezoidal.

3.8 − 2.1
ℎ= = 0.34
5

x y
2.1 5(2.1^3)-2(2.1)=42.105=y 0
2.44 67.75392=y 1
2.78 101.86476=y 2
3.12 145.61664
3.46 200.18868

15
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

3.8 266.76

Aplicando la formula de la regla trapezoidal:

3.8
1 1
� (5𝑥𝑥 3 − 2𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ 0.34 � (42.105) + 67.7592 + 101.86476 + 145.61664 + 200.18868 + (266.76)� = 227.750052
2.1 2 2

Si ahora usamos la integración algebraica de la función y aplicando sus límites:

3.8
5 5
� (5𝑥𝑥 3 − 2𝑥𝑥)𝑑𝑑𝑑𝑑 = � (3.84 ) − 3.8²� − � (2.14 ) − 2.1²� = 226.301875
2.1 4 4

Que es el resultado verdadero de esta operación con estos valores podemos calcular el error
verdadero.

226.301875 − 227.750052
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 0.64%
226.301875

El resultado del error verdadero muestra un error bastante pequeño, sin embargo el error puede
disminuirse aun mas aumentando el número de intervalos.

3.2.2 Regla de Simpson 1/3

Otra fórmula para obtener las integrales es la de Simpson 1/3, donde se calcula el tamaño de paso
con la misma fórmula:

𝑏𝑏 − 𝑎𝑎
ℎ=
𝑛𝑛

La diferencia es que ahora la integral se calcula con la siguiente fórmula:

𝑏𝑏

� 𝑓𝑓(𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ (𝑦𝑦 + 4𝑦𝑦1 + 2𝑦𝑦2 + 4𝑦𝑦3 + ⋯ 𝑦𝑦𝑛𝑛 )
𝑎𝑎 3 0

Usaremos el mismo ejemplo que en la regla trapezoidal para mostrar su procedimiento de cálculo.

Ejemplo

Obtener la integral de la función 5x³-2x con respecto a x desde 2.1 hasta 3.8 con 5 intervalos
usando la regla de Simpson 1/3.

16
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

3.8 − 2.1
ℎ= = 0.34
5

x y
2.1 5(2.1^3)-2(2.1)=42.105=y 0
2.44 67.75392=y 1
2.78 101.86476=y 2
3.12 145.61664
3.46 200.18868
3.8 266.76

Usando la formula de Simpson 1/3

3.8
0.34
� (5𝑥𝑥 3 − 2𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ (42.105 + 4(67.7592 + 145.61664) + 2(101.86476 + 200.18868) + 266.76) = 200.1981336
2.1 3

Podemos calcular también el error verdadero usando el resultado de la integración algebraica del
ejemplo de la regla trapezoidal

226.301875 − 200.1981336
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 11.53%
226.301875

Este error es más elevado que el obtenido por regla trapezoidal, pero la eficiencia de los métodos
es extremadamente dependiente de la función matemática a integrar.

3.2.3 Regla de Simpson 3/8 (rara)

Debido a que ciertos autores difieren en cuanto a cual es la formula correcta para la regla de
Simpson 3/8, se incluirán aquí las dos versiones que reclaman tal denominación, las cuales
diferenciaremos a través de los sufijos "normal" y "rara" para diferenciarlas. El tamaño de paso se
calcula de la misma forma que en los métodos anteriores, es decir con la formula:

𝑏𝑏 − 𝑎𝑎
ℎ=
𝑛𝑛

La fórmula para encontrar la integral por este método es:

17
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

𝑏𝑏
3
� 𝑓𝑓(𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ ℎ �𝑦𝑦0 + 2 � 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 𝑚𝑚ú𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑑𝑑𝑑𝑑 3 + 3 � 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑑𝑑𝑑𝑑 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑠𝑠 + 𝑦𝑦𝑛𝑛 �
𝑎𝑎 8

Utilizaremos esta fórmula en el mismo ejemplo que usamos para los métodos pasados.

Ejemplo

Obtener la integral de la función 5x³-2x con respecto a x desde 2.1 hasta 3.8 con 5 intervalos
usando la regla de Simpson 1/3.

3.8 − 2.1
ℎ= = 0.34
5

x y
2.1 5(2.1^3)-2(2.1)=42.105=y 0
2.44 67.75392=y 1
2.78 101.86476=y 2
3.12 145.61664
3.46 200.18868
3.8 266.76

Aplicando la formula de este método:

3.8
0.34
� (5𝑥𝑥 3 − 2𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ (42.105 + 2(145.61664) + 3(67.7592 + 101.86476 + 200.18868) + 266.76) = 217.9638459
2.1 3

Para evaluar la exactitud de este método calcularemos el error verdadero usando el resultado de
la integración algebraica que también usamos en los ejemplos pasados.

226.301875 − 217.9638459
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 3.68%
226.301875

Comparando los errores de los métodos que han sido presentados hasta el momento, podemos
evaluarlo como mejor que Simpson 1/3 pero peor que trapezoidal, sin embargo recordemos que
su exactitud depende de la función matemática a integrar.

18
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

3.2.4 Regla de Simpson 3/8 (normal)

Ahora se presentara la fórmula para la regla de Simpson 3/8 (normal), en donde el tamaño de
paso al igual que en los otros métodos se calcula con la fórmula:

𝑏𝑏 − 𝑎𝑎
ℎ=
𝑛𝑛

Finalmente la fórmula de este método es:

𝑏𝑏
3
� 𝑓𝑓(𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ ℎ �𝑦𝑦0 + 3 � 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑑𝑑𝑑𝑑 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 + 𝑦𝑦𝑛𝑛 �
𝑎𝑎 8

Aplicándola en el mismo ejemplo que los métodos anteriores, su desarrollo queda de la siguiente
forma:

Ejemplo

Obtener la integral de la función 5x^3-2x con respecto a x desde 2.1 hasta 3.8 con 5 intervalos
usando la regla Simpson 3/8 (normal).

3.8 − 2.1
ℎ= = 0.34
5

x y
2.1 5(2.1^3)-2(2.1)=42.105=y 0
2.44 67.75392=y 1
2.78 101.86476=y 2
3.12 145.61664
3.46 200.18868
3.8 266.76

3.8
0.34
� (5𝑥𝑥 3 − 2𝑥𝑥)𝑑𝑑𝑑𝑑 ≈ (42.105 + 3(67.7592 + 101.86476 + 145.61664 + 200.18868) + 266.76) = 236.5299675
2.1 3

19
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Usando el valor verdadero de la integral calculado algebraicamente para calcular el error


verdadero tenemos que:

226.301875 − 236.5299675
𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖𝜖% = � � 100 = 4.52%
226.301875

Analizando todos los métodos a partir del error verdadero podemos decir que el más exacto es en
este ejemplo la regla trapezoidal, seguido de la regla de Simpson 3/8 (rara) posteriormente esta la
regla de Simpson 3/8 (normal) y por último la regla de Simpson 1/3.

4.- Solución de sistemas de ecuaciones lineales

Varias disciplinas de la ingeniería usan el modelado de sistemas físicos a partir de sistemas de


ecuaciones lineales como por ejemplo; los circuitos eléctricos, el equilibrio de la partícula y del
cuerpo rígido en estática así como el análisis de la cinética de los cuerpos en dinámica, entre otras
disciplinas, por lo cual, una parte importante de los métodos numéricos es la solución de sistemas
de ecuaciones lineales. Durante las primeras décadas de las computadoras personales, la
capacidad de memoria de esos dispositivos era bastante limitada un ejemplo de esto es la
memoria de la computadora de viaje del Apollo XII que tenia 256 kBytes de RAM, esto limitaba
enormemente el uso de computadoras para analizar sistemas complejos con grandes cantidades
de variables como el caso de los sistemas electicos de potencia, por tal motivo se desarrollaron
métodos numéricos capaces de maximizar el uso de memoria al direccionarla solo hacia los
elementos distintos de cero, es decir los nodos que tenían alguna interconexión para el caso de los
sistemas eléctricos de potencia, a estas técnicas se les denominaron de matrices "dispersas", hoy
en día, las limitaciones físicas de la memoria computacional no son más un problema, incluso las
tabletas y Smartphones tendrían la capacidad de analizar grandes matrices dispersas. La
problemática ahora se basa en como identificar los flujos de potencia provenientes de un
suministrador o de otro, pero esto es tema de otras asignaturas.

El método numérico por excelencia para solucionar los sistemas de ecuaciones lineales es el
denominado de Gauß-Seidel, el cual es iterativo, sin embargo se pueden enumerar otros como los
conocidos de algebra lineal; método de Gauß o escalonamiento y Gauß-Jordan o canonización,
además existen otros métodos como la factorización LU y el método de Krylov, aunque este último

20
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

más bien sirve para encontrar los vectores propios de una matriz y la factorización LU es útil en el
caso de matrices dispersas.

4.1 método de Gauß o escalonamiento

El método de Gauß es basado en la conversión a cero de los elementos bajo la diagonal principal
de un sistema de ecuaciones lineales, dicha conversión puede hacerse a través de técnicas
conocidas como pivoteó directamente la eliminación a través de sumas y restas entre renglones
como veremos a continuación.

Ejemplo

Obtener la solución del siguiente sistema de ecuaciones lineales por medio del método de Gauß

𝑥𝑥 − 2𝑦𝑦 + 4𝑧𝑧 = 1

−𝑥𝑥 + 8𝑦𝑦 − 𝑧𝑧 = 9

6𝑥𝑥 + 3𝑦𝑦 + 𝑧𝑧 = −5

Se puede re-escribir dicho sistema en forma matricial quedando como sigue:

1 −2 4 𝑥𝑥 1
�−1 8 −1� �𝑦𝑦� = � 9 �
6 3 1 𝑧𝑧 −5

Si, ahora hacemos obvia la columna de variables obtenemos una matriz ampliada como sigue:

1 −2 4 1
�−1 8 −1 9 �
6 3 1 −5

Usaremos esta matriz ampliada para realizar el escalonamiento, donde el objetivo es convertir a
ceros los elementos de la triangular inferior, es decir los elementos marcados en color rojo de
nuestro ejemplo. Para lograr este objetivo proponemos dos ecuaciones para los renglones 2 y 3 de
nuestra matriz, los cuales sumados al renglón 1 eliminarán a los 2 elementos de la primera
columna, para nuestro ejemplo las ecuaciones serían:

𝑅𝑅2 = 𝑅𝑅1 + 𝑅𝑅2

21
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

𝑅𝑅3 = 𝑅𝑅3 − 6𝑅𝑅1

Aplicándolas a nuestro sistema quedaría:

𝑅𝑅1 = 1 −2 4 1
𝑅𝑅2 = −1 8 −1 9
𝑅𝑅1 + 𝑅𝑅2 = 0 6 3 10

−6𝑅𝑅1 = −6 12 −24 −6
𝑅𝑅3 = 6 3 1 −5
𝑅𝑅3 − 6𝑅𝑅1 = 0 15 −23 −11

Después de este primer paso en nuestro escalonamiento la nueva matriz ampliada sería:

1 −2 4 1
�0 6 3 10 �
0 15 −23 −11

Observamos que solo nos falta el elemento marcado en rojo para completar nuestro
escalonamiento, ahora usaremos el renglón 2 como base para transformar dicho elemento en
cero usando la siguiente ecuación:

𝑅𝑅3 = 15𝑅𝑅2 − 6𝑅𝑅3

Aplicándola en nuestra matriz queda:

−6𝑅𝑅3 = 0 −90 138 66


15𝑅𝑅2 = 0 90 45 150
15𝑅𝑅2 − 6𝑅𝑅3 = 0 0 183 216

Por tanto nuestra matriz ampliada con el escalonamiento completo se ve de la siguiente forma:

1 −2 4 1
�0 6 3 10 �
0 0 183 216

De esta matriz ampliada podemos despejar primero nuestra variable z del tercer renglón como
sigue:

216
𝑧𝑧 = = 1.180327869
183

Usando ese valor de z y despejando y de nuestro segundo renglón queda:

22
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

10 − 3(1.180327869)
𝑦𝑦 = = 1.076502732
6

Por último despejamos x de nuestro primer renglón y usamos los valores calculados previamente
de y y z así:

1 − 4(1.180327869) + 2(1.076502732)
𝑥𝑥 = = −1.568306012
1

Estos resultados se pueden comprobar substituyéndolos en las tres ecuaciones, las cuales se
deben cumplir.

4.2 método de Gauß-Jordan

El método de Gauß-Jordan también es llamado canonización y consiste en que no solo la triangular


inferior se convierta en ceros si no que también la triangular superior debe convertirse en ceros
además de convertir en unos los elementos de la diagonal principal, vamos a usar el ejemplo que
utilizamos en el método de Gauß para mostrar cómo se procede en la canonización.

Nuestra matriz ampliada es:

1 −2 4 1
�−1 8 −1 9 �
6 3 1 −5

En el método de Gauß-Jordan se convertirán los elementos marcados en rojo a ceros y los


elementos marcados en verde a unos. Para ello se procede exactamente de la misma manera que
en el método de Gauß para llegar a la triangular inferior en ceros, es decir obtendríamos la matriz
ampliada que se muestra a continuación:

1 −2 4 1
�0 6 3 10 �
0 0 183 216

Después de eso se debe proceder a convertir a ceros los elementos de la triangular superior, para
lo cual ahora se tomará como base el renglón 3 y se le sumarán los elementos del renglón 1 y 2
multiplicados por sus respectivos contrapares a manera de que al hacer las sumas eliminen los
elementos de la tercera columna es decir que las ecuaciones del escalonamiento son:

𝑅𝑅1 = 183𝑅𝑅1 − 4𝑅𝑅3

23
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

𝑅𝑅2 = 183𝑅𝑅2 − 3𝑅𝑅3

Para el renglón 1 queda:

183𝑅𝑅1 = 183 −366 732 183


−4𝑅𝑅3 = 0 0 −732 −864
183𝑅𝑅1 − 4𝑅𝑅3 = 183 −366 0 −681

Para el renglón 2 queda:

183𝑅𝑅2 = 0 1098 549 1830


−3𝑅𝑅3 = 0 0 −549 −648
183𝑅𝑅2 − 3𝑅𝑅3 = 0 1098 0 1182

Entonces nuestra matriz ampliada se ve así:

183 −366 0 −681


� 0 1098 0 1182 �
0 0 183 216

Ahora hay que usar ahora el renglón 2 como base para convertir a cero el elemento marcado en
rojo, para ello se aplica la siguiente ecuación:

𝑅𝑅1 = 1098𝑅𝑅1 + 366𝑅𝑅2

Realizando las operaciones

1098𝑅𝑅1 = 200934 −401868 0 −747738


366𝑅𝑅2 = 0 401868 0 432612
1098𝑅𝑅1 + 366𝑅𝑅2 = 200934 0 0 −315126

De ahí nuestra matriz ampliada queda:

200934 0 0 −315126
� 0 1098 0 1182 �
0 0 183 216

Solo resta la canonización, es decir la conversión de los elementos de la diagonal principal en unos,
para lograrlo se despejan cada una de las variables de su respectiva ecuación como se muestra:

−315126
𝑥𝑥 = = −1.568306012
200934

24
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1182
𝑦𝑦 = = 1.076502732
1098

216
𝑧𝑧 = = 1.180327869
183

Por tanto la canonización completa se ve así:

1 0 0 −1.568306012
�0 1 0 1.076502732 �
0 0 1 1.180327869

Estos son métodos más propiamente de algebra lineal. Ahora mostraremos el único método
iterativo y por tanto el que por excelencia representa a los métodos numéricos en este caso.

4.3 método de Gauß-Seidel

En el método de Gauß-Seidel ya no se convierte ningún elemento. Ahora se procede primero a


verificar que todas las ecuaciones del sistema lineal cumplan con el criterio de convergencia, que
afirma:

|𝑎𝑎𝑖𝑖𝑖𝑖 | > �� 𝑎𝑎𝑎𝑎𝑎𝑎�

O en palabras; los valores absolutos de los elementos de la diagonal principal deben ser mayores
que los valores absolutos de la sumatoria de los elementos fuera de la diagonal principal, si se
cumple el criterio de convergencia se puede usar el método de Gauß-Seidel directamente y si no
se debe usar el método de Gauß-Seidel acelerado.

En nuestro ejemplo que usamos para mostrar los métodos de Gauß y Gauß-Jordan aplicaremos el
criterio de convergencia primero re-escribamos las ecuaciones en forma matricial para
recordarlas:

1 −2 4 𝑥𝑥 1
�−1 8 −1� �𝑦𝑦� = � 9 �
6 3 1 𝑧𝑧 −5

De nuestra primera ecuación observamos que 1 no es mayor que 2+4 por tanto esa primera
ecuación no cumple con el criterio de convergencia, en el caso de la ecuación 2, 8 si es mayor que
1+1 por tanto esa otra ecuación si cumple con el criterio y por último 1 no es mayor que 6+3 por lo

25
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

cual, la ultima ecuación no cumple con el criterio. No obstante, el sistema de ecuaciones puede re-
ordenarse intentando que las ecuaciones cumplan con el criterio de convergencia, si pasamos la
ecuación 1 al renglón 3 y la ecuación 3 al renglón 1 nuestro sistema queda:

6 3 1 𝑥𝑥 −5
�−1 8 −1� �𝑦𝑦� = � 9 �
1 −2 4 𝑧𝑧 1

Si, ahora aplicamos de nuevo el criterio de convergencia, observamos que 6 si es mayor que 3+1
por lo cual la primera ecuación si lo cumple, después 8 es mayor que 1+1 que quiere decir que
también lo cumple y por ultimo 4 es mayor que 2+1, así todas las ecuaciones cumplen con el
criterio de convergencia y podemos usar el método de Gauß-Seidel sin acelerarlo. Para ello ahora
vamos a despejar de cada ecuación las variables correspondientes a la diagonal principal como se
ve a continuación:

−5 − 𝑧𝑧 − 3𝑦𝑦
𝑥𝑥 =
6

9 + 𝑧𝑧 + 𝑥𝑥
𝑦𝑦 =
8

1 − 𝑥𝑥 + 2𝑦𝑦
𝑧𝑧 =
4

Usaremos estos despejes para calcular iterativamente las aproximaciones que se harán a los
valores de cada variable teniendo siempre cero como valor inicial para todas las variables.

1era. Iteración

−5 − 0 − 3(0) 5
𝑥𝑥1 = =−
6 6

5
9 + 0 + �− 6�
𝑦𝑦1 = = 1.20833333
8

5
1 − �− 6� + 2(1.20833333)
𝑧𝑧1 = = 0.96875
4

2da. Iteración

26
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

−5 − 0.96875 − 3(1.20833333)
𝑥𝑥2 = = −1.5052083333
6

9 + 0.96875 + (−1.5052083333)
𝑦𝑦2 = = 1.057942708
8

1 − (−1.5052083333) + 2(1.057942708)
𝑧𝑧2 = = 1.155273438
4

El proceso iterativo puede continuar hasta la n-ésima iteración, para detenerlo se usa el cálculo
del ε aproximado% y previamente al inicio de las iteraciones se le asigna un criterio de paro, en
este caso usaremos como criterio de paro un ε aproximado%<50%, calculemos el error para esta
2da. Iteración usando la variable x

5
−1.5052083333 − �− �
𝜖𝜖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎. % = � 6 � (100) = 44.64%
−1.5052083333

Ya que este ε aproximado% cumple con el criterio de paro damos por terminado el cálculo.

4.3.1 método de Gauß-Seidel acelerado

Debido a que la programación del cumplimiento del criterio de convergencia y el posterior


reordenamiento de las ecuaciones puede implicar una elevación considerable de la complejidad
del programa, se prefiere el método de Gauß-Seidel acelerado en la programación, en el cual sin
importar si las ecuaciones cumplen o no con el criterio de convergencia se asegura que el método
convergerá a la solución al aplicar una ecuación de aceleración que es:

𝑥𝑥𝑖𝑖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 𝜆𝜆𝜆𝜆𝑖𝑖 + (1 − 𝜆𝜆)𝑥𝑥𝑖𝑖−1

Donde λ es denominado factor de aceleración aunque algunos autores le denominan relajación y


puede tener valores entre 0 y 1 si el sistema no cumple con el criterio de convergencia y entre 1 y
2 si el sistema cumple con el criterio de convergencia pero se quieren realizar menos iteraciones
para llegar a la solución. Usaremos ahora este método ejemplificándolo con nuestro mismo
sistema de ecuaciones realizando iteraciones hasta un ε aprox.%<60%. Nuestro sistema original
tiene la siguiente forma:

27
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1 −2 4 𝑥𝑥 1
�−1 8 −1� �𝑦𝑦� = � 9 �
6 3 1 𝑧𝑧 −5

Despejamos cada una de las variables de nuestra diagonal principal:

1 + 2𝑦𝑦 − 4𝑧𝑧
𝑥𝑥 =
1

9 + 𝑥𝑥 + 𝑧𝑧
𝑦𝑦 =
8

−5 − 6𝑥𝑥 − 3𝑦𝑦
𝑧𝑧 =
1

Debido a que nuestro sistema no cumple con el criterio de convergencia como lo vimos
anteriormente utilizaremos un valor de λ=0.1, este valor se ha elegido al azar solo tomando en
cuenta las condiciones antes mencionadas.

1era iteración

1 + 2(0) − 4(0)
𝑥𝑥1 = =1
1

𝑥𝑥1 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(1) + (1 − 0.1)(0) = 0.1

9 + 0.1 + 0
𝑦𝑦1 = = 1.1375
8

𝑦𝑦1 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(1.1375) + (1 − 0.1)(0) = 0.11375

−5 − 6(0.1) − 3(0.11375)
𝑧𝑧1 = = −5.94125
1

𝑧𝑧1 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(−5.94125) + (1 − 0.1)(0) = −0.594125

2da. Iteración

1 + 2(0.11375) − 4(−0.594125)
𝑥𝑥2 = = 3.604
1

𝑥𝑥2 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(3.604) + (1 − 0.1)(0.1) = 0.4504

28
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

9 + (0.4504) + (−0.594125)
𝑦𝑦2 = = 1.107034375
8

𝑦𝑦2 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(1.107034375) + (1 − 0.1)(0.11375) = 0.213078437

−5 − 6(0.4504) − 3(0.213078437)
𝑧𝑧2 = = −8.341635313
1

𝑧𝑧2 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(−8.341635313) + (1 − 0.1)(−0.594125) = −1.368876031

0.4504 − (0.1)
𝜖𝜖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎. % = � � (100) = 77.79%
0.4504

3era. Iteración

1 + 2(0.213078437) − 4(−1.368876031)
𝑥𝑥3 = = 6.901660999
1

𝑥𝑥3 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(6.901660999) + (1 − 0.1)(0.4504) = 1.0955261

9 + (1.0955261) + (−1.368876031)
𝑦𝑦3 = = 1.090831259
8

𝑦𝑦3 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(1.090831259) + (1 − 0.1)(0.213078437) = 0.300853719

−5 − 6(1.0955261) − 3(0.300853719)
𝑧𝑧3 = = −12.47571776
1

𝑧𝑧3 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0.1(−12.47571776) + (1 − 0.1)(−1.368876031) = −2.479560204

1.0955261 − (0.4504)
𝜖𝜖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎. % = � � (100) = 58.89%
1.0955261

El ε aprox.% puede calcularse con cualquiera de las variables del sistema. Como se observa en este
ejemplo pasado las iteraciones necesarias para obtener una solución aceptable pueden llegar a
decenas o centenas, para una persona es una tarea engorrosa ya que la solución bien puede
hallarse con los métodos de Gauß o Gauß-Jordan usando menos operaciones matemáticas, pero
recordemos que los métodos numéricos fueron diseñados para ser usados por las computadoras y
no por las personas.

4.4 factorización LU

29
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

El objetivo de la factorización LU no es encontrar la solución de un sistema de ecuaciones lineales,


más bien está diseñado para separar una matriz cuadrada en dos matrices también cuadradas
pero que tienen las triangulares inferior o superior en ceros como se muestra a continuación:

𝐴𝐴 = 𝐿𝐿 ∙ 𝑈𝑈

𝑎𝑎11 𝑎𝑎12 𝑎𝑎13 𝑙𝑙11 0 0 𝑢𝑢11 𝑢𝑢12 𝑢𝑢13


�𝑎𝑎21 𝑎𝑎22 𝑎𝑎23 � = �𝑙𝑙21 𝑙𝑙22 0 �∙� 0 𝑢𝑢22 𝑢𝑢23 �
𝑎𝑎31 𝑎𝑎32 𝑎𝑎33 𝑙𝑙31 𝑙𝑙32 𝑙𝑙33 0 0 𝑢𝑢33

Para lograr la separación de la matriz A se desarrolla la multiplicación de ambas matrices de


acuerdo a las reglas de multiplicación de matrices y se iguala cada elemento de la matriz A a sus
correspondientes multiplicandos de L y U.

𝑎𝑎11 = 𝑙𝑙11 𝑢𝑢11 𝑎𝑎23 = 𝑙𝑙21 𝑢𝑢13 + 𝑙𝑙22 𝑢𝑢23

𝑎𝑎12 = 𝑙𝑙11 𝑢𝑢12 𝑎𝑎31 = 𝑙𝑙31 𝑢𝑢11

𝑎𝑎13 = 𝑙𝑙11 𝑢𝑢13 𝑎𝑎32 = 𝑙𝑙31 𝑢𝑢12 + 𝑙𝑙32 𝑢𝑢22

𝑎𝑎21 = 𝑙𝑙21 𝑢𝑢11 𝑎𝑎33 = 𝑙𝑙31 𝑢𝑢13 + 𝑙𝑙32 𝑢𝑢23 + 𝑙𝑙33 𝑢𝑢33

𝑎𝑎22 = 𝑙𝑙21 𝑢𝑢12 + 𝑙𝑙22 𝑢𝑢22

Usaremos nuestro ejemplo para mostrar la factorización LU. El sistema original es el siguiente:

1 −2 4 𝑥𝑥 1
�−1 8 −1� �𝑦𝑦� = � 9 �
6 3 1 𝑧𝑧 −5

De aquí solo usaremos la matriz principal, la cual igualaremos a la multiplicación de matrices LU

1 −2 4 𝑙𝑙11 0 0 𝑢𝑢11 𝑢𝑢12 𝑢𝑢13


�−1 8 −1� = �𝑙𝑙21 𝑙𝑙22 0 �∙� 0 𝑢𝑢22 𝑢𝑢23 �
6 3 1 𝑙𝑙31 𝑙𝑙32 𝑙𝑙33 0 0 𝑢𝑢33

Así encontramos las ecuaciones:

1 = 𝑙𝑙11 𝑢𝑢11 4 = 𝑙𝑙11 𝑢𝑢13

−2 = 𝑙𝑙11 𝑢𝑢12 −1 = 𝑙𝑙21 𝑢𝑢11

30
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

8 = 𝑙𝑙21 𝑢𝑢12 + 𝑙𝑙22 𝑢𝑢22 3 = 𝑙𝑙31 𝑢𝑢12 + 𝑙𝑙32 𝑢𝑢22

−1 = 𝑙𝑙21 𝑢𝑢13 + 𝑙𝑙22 𝑢𝑢23 1 = 𝑙𝑙31 𝑢𝑢13 + 𝑙𝑙32 𝑢𝑢23 + 𝑙𝑙33 𝑢𝑢33

6 = 𝑙𝑙31 𝑢𝑢11

Despejamos y substituimos algunas de ellas en otras a fin de disminuir el número de variables:

1 −1
= 𝑙𝑙11 −1 = (4𝑢𝑢11 ) + 𝑙𝑙22 𝑢𝑢23
𝑢𝑢11 𝑢𝑢11

1 6
−2 = 𝑢𝑢 3= (−2𝑢𝑢11 ) + 𝑙𝑙32 𝑢𝑢22
𝑢𝑢11 12 𝑢𝑢11

1 6
4= 𝑢𝑢 1= (4𝑢𝑢11 ) + 𝑙𝑙32 𝑢𝑢23 + 𝑙𝑙33 𝑢𝑢33
𝑢𝑢11 13 𝑢𝑢11

−1 8 = 2 + 𝑙𝑙22 𝑢𝑢22
= 𝑙𝑙21
𝑢𝑢11
−1 = −4 + 𝑙𝑙22 𝑢𝑢23
−1
8= 𝑢𝑢 + 𝑙𝑙22 𝑢𝑢22
𝑢𝑢11 12 3 = −12 + 𝑙𝑙32 𝑢𝑢22

−1 1 = 24 + 𝑙𝑙32 𝑢𝑢23 + 𝑙𝑙33 𝑢𝑢33


−1 = 𝑢𝑢 + 𝑙𝑙22 𝑢𝑢23
𝑢𝑢11 13
6 = 𝑙𝑙22 𝑢𝑢22
6
= 𝑙𝑙31
𝑢𝑢11 3 = 𝑙𝑙22 𝑢𝑢23

6 15 = 𝑙𝑙32 𝑢𝑢22
3= 𝑢𝑢 + 𝑙𝑙32 𝑢𝑢22
𝑢𝑢11 12
−23 = 𝑙𝑙32 𝑢𝑢23 + 𝑙𝑙33 𝑢𝑢33
6
1= 𝑢𝑢 + 𝑙𝑙32 𝑢𝑢23 + 𝑙𝑙33 𝑢𝑢33
𝑢𝑢11 13 6
= 𝑢𝑢22
𝑙𝑙22
−2𝑢𝑢11 = 𝑢𝑢12
3
4𝑢𝑢11 = 𝑢𝑢13 = 𝑢𝑢23
𝑙𝑙22

−1 6
8= (−2𝑢𝑢11 ) + 𝑙𝑙22 𝑢𝑢22 15 = 𝑙𝑙32 � �
𝑢𝑢11 𝑙𝑙22

31
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

15𝑙𝑙22 45
= 𝑙𝑙32 −23 − = 𝑙𝑙33 𝑢𝑢33
6 6

15𝑙𝑙22 3 −30.5 = 𝑙𝑙33 𝑢𝑢33


−23 = � � � � + 𝑙𝑙33 𝑢𝑢33
6 𝑙𝑙22

Damos valores a algunas variables y calculamos las demás:

1 = 𝑢𝑢33 3 = 𝑢𝑢23 −2 = 𝑢𝑢12

−30.5 = 𝑙𝑙33 6 = 𝑢𝑢22 4 = 𝑢𝑢13

𝑙𝑙22 = 1 1 = 𝑢𝑢11 −1 = 𝑙𝑙21

2.5 = 𝑙𝑙32 1 = 𝑙𝑙11 6 = 𝑙𝑙31

Finalmente substituimos los valores en las matrices LU

1 −2 4 1 0 0 1 −2 4
�−1 8 −1� = �−1 1 0 � ∙ �0 6 3�
6 3 1 6 2.5 −30.5 0 0 1

La cual es la factorización LU de la matriz original y que tiene como fin último evitar guardar ceros
en la memoria, en este ejemplo parece que tal técnica es poco menos que inútil pero es funcional
para grandes matrices dispersas donde muy pocos elementos son distintos de cero como en el
caso de los grandes sistemas eléctricos interconectados.

4.5 método de Krylov

El método de Krylov tampoco sirve para encontrar la solución de un sistema de ecuaciones


lineales, solo sirve para encontrar los Eigenwerte (valores propios) de la matriz y se basa en el
teorema de Caley-Hamilton, la formula es la siguiente:

|𝐴𝐴 − 𝜆𝜆𝜆𝜆| = 0

Donde A es la matriz de la cual se quieren obtener los Eigenwerte, λ es la variable del polinomio
característico, 𝐼𝐼 es la matriz identidad y el valor absoluto de una ecuación matricial es también
denominado determinante, usaremos el mismo ejemplo que en la factorización LU para mostrar
como calcular los valores propios.

32
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1 −2 4 1 0 0
��−1 8 −1� − 𝜆𝜆 �0 1 0�� = 0
6 3 1 0 0 1

Realizando la multiplicación de λ por la matriz identidad

1 −2 4 𝜆𝜆 0 0
��−1 8 −1� − �0 𝜆𝜆 0�� = 0
6 3 1 0 0 𝜆𝜆

Haciendo la resta de matrices

1 − 𝜆𝜆 −2 4
�� −1 8 − 𝜆𝜆 −1 �� = 0
6 3 1 − 𝜆𝜆

Obteniendo el determinante e igualando a cero

(1 − 𝜆𝜆)[(8 − 𝜆𝜆)(1 − 𝜆𝜆) − 3(−1)] − (−2)[−1(1 − 𝜆𝜆) − 6(−1)] + 4[(−1)3 − 6(8 − 𝜆𝜆)] = 0

−𝜆𝜆3 + 10𝜆𝜆2 − 20𝜆𝜆 + 11 + 2𝜆𝜆 + 10 + 24𝜆𝜆 − 204 = 0

−𝜆𝜆3 + 10𝜆𝜆2 + 6𝜆𝜆 − 183 = 0

Las raíces de la ecuación que obtuvimos son los valores característicos de la matriz original o
también denominados Eigenwerte, los cuales se pueden obtener con cualquier método numérico
para obtener raíces de ecuaciones como los que se mostraron en capítulos anteriores y
corresponden a los siguientes valores:

𝜆𝜆1 = −3.856991761

𝜆𝜆2 = 6.181667849

𝜆𝜆3 = 7.675323912

5.- Solución de sistemas de ecuaciones No lineales

Los sistemas de ecuaciones no lineales son ampliamente usados en el despacho económico de los
flujos de potencia, en la actualidad con el auge de los mercados desregulados dicho tema cobra
capital importancia, debido a la necesidad de las empresas generadoras de poder facturar

33
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

correctamente el suministro eléctrico que proveen. Existen básicamente dos métodos para
obtener la solución de los sistemas de ecuaciones no lineales, los cuales son una adaptación de los
métodos que se mostraron para encontrar raíces de ecuaciones. Es necesario aclarar que los
sistemas de ecuaciones no lineales son aquellos que no tienen linealidad, por lo tanto sus variables
no tienen exponente 1 si no cualquier otro o también pueden ser funciones trigonométricas,
exponenciales o logarítmicas.

5.1 método de iteración de punto fijo

Al igual que en el capítulo de raíces de ecuaciones, el método de iteración de punto fijo no tiene
una fórmula exacta para su implementación en sistemas de ecuaciones no lineales, más bien
consiste en despejar de una de las ecuaciones una variable y substituir ese despeje en la siguiente
ecuación y con ese resultado substituirlo en la siguiente y así sucesivamente. Utilizaremos un
sistema de dos ecuaciones no lineales para ejemplificar la aplicación de este método.

√𝑥𝑥 + sen 𝑦𝑦 = 0.3

𝑥𝑥 2 − 𝑙𝑙𝑙𝑙(𝑦𝑦) = 2

1era. Iteración

Despejamos x de la primera ecuación:

𝑥𝑥 = (0.3 − sen 𝑦𝑦)2

Substituimos este despeje en la segunda ecuación:

((0.3 − sen 𝑦𝑦)2 )2 − 𝑙𝑙𝑙𝑙(𝑦𝑦) = 2

Como observamos solo tenemos una variable y una ecuación así que debemos despejarla para
hallar la solución.

4 −2
𝑒𝑒 (0.3−𝑠𝑠𝑠𝑠𝑠𝑠 𝑦𝑦) = 𝑦𝑦

Usamos un valor inicial x i =0.1 rad para calcular el valor de la primera iteración.

4 −2
𝑦𝑦1 = 𝑒𝑒 (0.3−𝑠𝑠𝑠𝑠𝑠𝑠 0.1) = 0.135552716

34
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Con ese valor calculamos la segunda iteración usando la misma fórmula:

2da. Iteración

4 −2
𝑦𝑦2 = 𝑒𝑒 (0.3−𝑠𝑠𝑠𝑠𝑠𝑠 0.135552716 ) = 0.135435295

De aquí podemos usar un criterio de paro como el ε aprox.%<2%

0.135435295 − 0.135552716
𝜖𝜖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎. % = � � (100) = 0.09%
0.135435295

Empleamos el valor que calculamos de y substituyéndolo en cualquier ecuación del sistema para
hallar x:

𝑥𝑥 = (0.3 − sen 0.135435295)2 = 0.027217861

Podemos comprobar la solución del sistema substituyendo los valores calculados en ambas
ecuaciones, las cuales se deben cumplir.

5.2 método de Newton-Raphson

A pesar de la evidente eficiencia del método de iteración de punto fijo para resolver sistemas de
ecuaciones no lineales, su implementación en las computadoras es bastante compleja debido a
que se tienen que programar las reglas de despejes, por ello se adaptó el método de Newton-
Raphson a un sistema de ecuaciones no lineales, este método tiene la siguiente fórmula en un
sistema de 2 ecuaciones no lineales:

𝑥𝑥𝑖𝑖+1 𝑥𝑥𝑖𝑖 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )


�𝑦𝑦 � = �𝑦𝑦 � − [𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽]−1 ∙ � �
𝑖𝑖+1 𝑖𝑖 𝑔𝑔(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

Donde el Jacobiano es una matriz cuadrada de las derivadas parciales de las funciones.

𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) 𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )


⎡ ⎤
𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⎥
𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽 = ⎢⎢
𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) 𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )⎥
⎢ ⎥
⎣ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⎦

La matriz inversa del Jacobiano se puede encontrar a partir de la división de la matriz adjunta
entre su determinante, donde la matriz adjunta es la transpuesta de los cofactores es decir:

35
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

𝐴𝐴𝐴𝐴𝐴𝐴(𝐴𝐴) 𝐶𝐶𝐶𝐶𝐶𝐶𝐴𝐴𝑡𝑡
𝐴𝐴−1 = =
|𝐴𝐴| |𝐴𝐴|

En una matriz de 2x2 quedaría:

𝑎𝑎11 𝑎𝑎12 𝑎𝑎22 −𝑎𝑎12


𝐴𝐴 = �𝑎𝑎 𝑎𝑎22 � 𝐴𝐴𝐴𝐴𝐴𝐴 𝐴𝐴 = 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑡𝑡 = �−𝑎𝑎 𝑎𝑎11 �
21 21

𝑎𝑎11 𝑎𝑎21 |𝐴𝐴| = 𝑎𝑎11 ∙ 𝑎𝑎22 − 𝑎𝑎21 ∙ 𝑎𝑎12


𝐴𝐴𝑡𝑡 = �𝑎𝑎 𝑎𝑎22 �
12

Aunque parezca difícil de implementar el método de Newton-Raphson es el preferido por los


encargados de estudios de flujos de potencia y despacho económico, vamos a usar nuestro
ejemplo de iteración de punto fijo para mostrar la su proceso.

√𝑥𝑥 + sen 𝑦𝑦 = 0.3

𝑥𝑥 2 − 𝑙𝑙𝑙𝑙(𝑦𝑦) = 2

Reordenamos el sistema para resaltar las funciones y calculamos sus derivadas parciales respecto
a x y y:

𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) = √𝑥𝑥 + sen 𝑦𝑦 − 0.3 𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )


= 2𝑥𝑥
𝜕𝜕𝜕𝜕
𝑔𝑔(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) = 𝑥𝑥 2 − 𝑙𝑙𝑙𝑙(𝑦𝑦) − 2
𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )
= cos 𝑦𝑦
𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) 0.5 𝜕𝜕𝜕𝜕
=
𝜕𝜕𝜕𝜕 √𝑥𝑥
𝜕𝜕𝜕𝜕(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) 1
=
𝜕𝜕𝜕𝜕 𝑦𝑦
Para empezar nuestra primera iteración usaremos valores iniciales x i =0.1 rad y y i =0.1 rad

1era. Iteración

𝑓𝑓(0.1,0.1) = √0.1 + sen 0.1 − 0.3 = 0.116061182

𝑔𝑔(0.1,0.1) = 0.12 − 𝑙𝑙𝑙𝑙(0.1) − 2 = 0.312585093

𝜕𝜕𝜕𝜕(0.1,0.1) 0.5
= = 1.58113883
𝜕𝜕𝜕𝜕 √0.1

36
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

𝜕𝜕𝜕𝜕(0.1,0.1)
= 2(0.1) = 0.2
𝜕𝜕𝜕𝜕

𝜕𝜕𝜕𝜕(0.1,0.1)
= cos 0.1 = 0.995004165
𝜕𝜕𝜕𝜕

𝜕𝜕𝜕𝜕(0.1,0.1) 1
= = 10
𝜕𝜕𝜕𝜕 0.1

Calculamos el Jacobiano y su inverso:

1.58113883 0.995004165
𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽 = � �
0.2 10

0.6405170266 −0.06373171093
𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽−1 = � �
−0.01281034053 0.1012746342

Substituimos en la formula de Newton-Raphson

𝑥𝑥1 0.1 0.6405170266 −0.06373171093 0.116061182


�𝑦𝑦 � = � � − � �∙� �
1 0.1 −0.01281034053 0.1012746342 0.312585093

𝑥𝑥1 0.04558241959
�𝑦𝑦 � = � �
1 0.06982984232

2da. Iteración

𝑓𝑓(0.04558241959,0.06982984232) = √0.04558241959 + sen 0.06982984232 − 0.3 = −0.016726499

𝑔𝑔(0.04558241959,0.06982984232) = 0.045582419592 − 𝑙𝑙𝑙𝑙(0.06982984232) − 2 = 0.663771581

𝜕𝜕𝜕𝜕(0.04558241959,0.06982984232) 0.5
= = 2.341916033
𝜕𝜕𝜕𝜕 √0.04558241959

𝜕𝜕𝜕𝜕(0.04558241959,0.06982984232)
= 2(0.04558241959) = 0.091164838
𝜕𝜕𝜕𝜕

𝜕𝜕𝜕𝜕(0.04558241959,0.06982984232)
= cos 0.06982984232 = 0.997562887
𝜕𝜕𝜕𝜕

𝜕𝜕𝜕𝜕(0.04558241959,0.06982984232) 1
= = 14.32052503
𝜕𝜕𝜕𝜕 0.06982984232

Calculamos el Jacobiano y su inverso:

37
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

2.341916033 0.997562887
𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽 = � �
0.091164838 14.32052503

0.4281618266 −0.02982560674
𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽𝐽−1 = � �
−0.002725689420 0.07001971258

Substituimos en la formula de Newton-Raphson

𝑥𝑥2 0.04558241959 0.4281618266 −0.02982560674 −0.016726499


�𝑦𝑦 � = � �−� �∙� �
2 0.06982984232 −0.002725689420 0.07001971258 0.663771581

𝑥𝑥2 0.07254145809
�𝑦𝑦 � = � �
2 0.02330715575

Podemos establecer un criterio de paro como que el ε aprox.%<40%

0.07254145809 − 0.04558241959
𝜖𝜖 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎. % = � � (100) = 37.16%
0.07254145809

La ineficiencia del método de Newton-Raphson en comparación con el método de iteración de


punto fijo es evidente en este caso pero recordemos que la programación del método de Newton
Raphson es mucho más sencilla que la de iteración de punto fijo.

6.- Interpolación

La interpolación es básicamente la predicción de un resultado a partir de una tabulación de


valores anteriores, algunos tipos de interpolación se basan en la estadística y otros son desarrollos
alternos.

6.1 diferencias de Newton

La forma más sencilla de interpolar es a partir del método de diferencias de Newton también
denominado diferencias mínimas cuya fórmula es:

𝑦𝑦2 − 𝑦𝑦1
𝑦𝑦 = 𝑦𝑦0 + (𝑥𝑥 − 𝑥𝑥0 )
𝑥𝑥2 − 𝑥𝑥1

Donde y es la variable dependiente, x la independiente, x 0 y y 0 son la pareja correspondiente al


valor más cercano al origen de la variable independiente y entre las parejas x 1 y y 1 y x 2 y y 2 debe
estar el valor de x a interpolar, vamos a usar un ejemplo sencillo y mostrar su proceso:

Ejemplo
38
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Se han medido las longitudes de un alambre de acero a distintas temperaturas y se desea obtener
por medio de diferencias de Newton el valor de la longitud del alambre cuando su temperatura
sea de 22°C. Los valores de las longitudes a distintas temperaturas aparecen en la siguiente tabla:

Temperatura °C Longitud mm
10 1003 y 0
15 1005
20 1010 y 1
25 1008 y 2
30 1014
Para poder aplicar el método de las diferencias de Newton primero tenemos que escoger cual es
nuestra variable independiente, en este caso debido a que se nos pide la longitud en función de la
temperatura, es entonces la temperatura la variable independiente. Después tenemos que
escoger cual de todas las parejas representa el valor más cercano al origen, si examinamos nuestra
tabla el valor más cercano corresponde a 10°C. y por ultimo tenemos que seleccionar entre cuales
parejas se contiene al dato a interpolar en este caso está entre 20°C y 25°C, entonces substituimos
en nuestra formula:

1008 − 1010
𝑦𝑦 = 1003 + (22 − 10) = 998.2𝑚𝑚𝑚𝑚
25 − 20

Entonces de acuerdo a este método la longitud del alambre a 22°C es de 998.2 mm.

6.2 regresión lineal

Un método estadístico ampliamente conocido para la interpolación es la regresión lineal, donde se


usan todos los datos proporcionados anteriormente y no solo unos cuantos como en las
diferencias de Newton. Las formulas para la regresión lineal son:

𝑦𝑦 = 𝑚𝑚𝑚𝑚 + 𝑏𝑏 ∑ 𝑦𝑦 − 𝑚𝑚 ∑ 𝑥𝑥
𝑏𝑏 =
𝑛𝑛
𝑛𝑛 ∑ 𝑥𝑥𝑥𝑥 − ∑ 𝑥𝑥 ∑ 𝑦𝑦
𝑚𝑚 = 𝑛𝑛 ∑ 𝑥𝑥𝑥𝑥 − ∑ 𝑥𝑥 ∑ 𝑦𝑦
𝑛𝑛 ∑ 𝑥𝑥 2 − (∑ 𝑥𝑥)2 𝑟𝑟 =
�(𝑛𝑛 ∑ 𝑥𝑥 2 − (∑ 𝑥𝑥)2 )(𝑛𝑛 ∑ 𝑦𝑦 2 − (∑ 𝑦𝑦)2 )

39
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Donde y es la variable dependiente, x es la independiente, m es la pendiente, b la ordenada al


origen y r es el coeficiente de correlación que indica que tanto se alejan los datos proporcionados
de la linealidad, es decir que entre más cercano a 1 este el resultado de r mas lineales serán los
datos proporcionados y por tanto el valor de la interpolación será más confiable. Emplearemos el
mismo ejemplo que en diferencias de Newton para mostrar el proceso de este método.

Ejemplo

Se han medido las longitudes de un alambre de acero a distintas temperaturas y se desea obtener
por medio de regresión lineal el valor de la longitud del alambre cuando su temperatura sea de
22°C. Los valores de las longitudes a distintas temperaturas aparecen en la siguiente tabla:

Temperatura Longitud xy x2 y2
°C mm
10 1003 10030 100 1006009
15 1005 15075 225 1010025
20 1010 20200 400 1020100
25 1008 25200 625 1016064
30 1014 30420 900 1028196
Σ 100 Σ 5040 Σ 100925 Σ 2250 Σ 5080394

Substituimos los valores necesarios en las formulas de regresión lineal:

5(100925) − 100(5040)
𝑚𝑚 = = 0.5
5(2250) − (100)2

5040 − 0.5(100)
𝑏𝑏 = = 998
5

𝑦𝑦 = 0.5(18) + 998 = 1007𝑚𝑚𝑚𝑚

5(100925) − 100(5040)
𝑟𝑟 = 0.919018277
�(5(2250) − (100)2 )(5(5080394) − (5040)2 )

40
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

El valor de la longitud calculado por medio de regresión lineal parece más confiable que el de
diferencias de Newton, debido a los valores de la longitud del alambre que están entre 20°C y
25°C, sin embargo en nuestro ejemplo no es posible calcular ningún tipo de error debido a que
estos métodos no son iterativos ni se cuenta con el valor medido a esa temperatura.

6.3 Polinomios de Lagrange

Otra manera de realizar interpolación de valores es a través de los polinomios de Lagrange, donde
la exactitud del resultado dependerá del orden del polinomio de Lagrange que se calcule y del
número de datos proporcionados para la interpolación. Las fórmulas generales de los polinomios
de Lagrange son:

𝑛𝑛

𝑓𝑓𝑛𝑛 (𝑥𝑥) = � 𝐿𝐿𝑖𝑖 (𝑥𝑥)𝑓𝑓(𝑥𝑥𝑖𝑖 )


𝑖𝑖=0

𝑛𝑛
�𝑥𝑥 − 𝑥𝑥𝑗𝑗 �
𝐿𝐿𝑖𝑖 (𝑥𝑥) = �
𝑗𝑗 =0
�𝑥𝑥𝑖𝑖 − 𝑥𝑥𝑗𝑗 �
𝑗𝑗 ≠𝑖𝑖

Dependiendo del orden del polinomio a desarrollar, se harán más operaciones, por ejemplo para
segundo orden el polinomio queda:

𝑓𝑓2 (𝑥𝑥) = 𝐿𝐿0 (𝑥𝑥)𝑓𝑓(𝑥𝑥0 ) + 𝐿𝐿1 (𝑥𝑥)𝑓𝑓(𝑥𝑥1 ) + 𝐿𝐿2 (𝑥𝑥)𝑓𝑓(𝑥𝑥2 )

(𝑥𝑥 − 𝑥𝑥1 )(𝑥𝑥 − 𝑥𝑥2 )


𝐿𝐿0 =
(𝑥𝑥0 − 𝑥𝑥1 )(𝑥𝑥0 − 𝑥𝑥2 )

(𝑥𝑥 − 𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥2 )


𝐿𝐿1 =
(𝑥𝑥1 − 𝑥𝑥0 )(𝑥𝑥1 − 𝑥𝑥2 )

(𝑥𝑥 − 𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥1 )


𝐿𝐿2 =
(𝑥𝑥2 − 𝑥𝑥0 )(𝑥𝑥2 − 𝑥𝑥1 )

Para 3er. Orden:

𝑓𝑓3 (𝑥𝑥) = 𝐿𝐿0 (𝑥𝑥)𝑓𝑓(𝑥𝑥0 ) + 𝐿𝐿1 (𝑥𝑥)𝑓𝑓(𝑥𝑥1 ) + 𝐿𝐿2 (𝑥𝑥)𝑓𝑓(𝑥𝑥2 ) + 𝐿𝐿3 (𝑥𝑥)𝑓𝑓(𝑥𝑥3 )

(𝑥𝑥 − 𝑥𝑥1 )(𝑥𝑥 − 𝑥𝑥2 )(𝑥𝑥 − 𝑥𝑥3 )


𝐿𝐿0 =
(𝑥𝑥0 − 𝑥𝑥1 )(𝑥𝑥0 − 𝑥𝑥2 )(𝑥𝑥0 − 𝑥𝑥3 )

41
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

(𝑥𝑥 − 𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥2 )(𝑥𝑥 − 𝑥𝑥3 )


𝐿𝐿1 =
(𝑥𝑥1 − 𝑥𝑥0 )(𝑥𝑥1 − 𝑥𝑥2 )(𝑥𝑥1 − 𝑥𝑥3 )

(𝑥𝑥 − 𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥1 )(𝑥𝑥 − 𝑥𝑥3 )


𝐿𝐿2 =
(𝑥𝑥2 − 𝑥𝑥0 )(𝑥𝑥2 − 𝑥𝑥1 )(𝑥𝑥2 − 𝑥𝑥3 )

(𝑥𝑥 − 𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥1 )(𝑥𝑥 − 𝑥𝑥2 )


𝐿𝐿3 =
(𝑥𝑥3 − 𝑥𝑥0 )(𝑥𝑥3 − 𝑥𝑥1 )(𝑥𝑥3 − 𝑥𝑥2 )

Así sucesivamente se puede llegar al infinito orden, vamos a usar el mismo ejemplo que en las
interpolaciones pasadas para mostrar su uso.

Ejemplo

Se han medido las longitudes de un alambre de acero a distintas temperaturas y se desea obtener
por medio de polinomios de Lagrange de 2do. Orden, el valor de la longitud del alambre cuando su
temperatura sea de 22°C. Los valores de las longitudes a distintas temperaturas aparecen en la
siguiente tabla:

Temperatura °C Longitud mm
10 1003 f(x 0 )
15 1005
20 1010 f(x 1 )
25 1008 f(x 2 )
30 1014

Al igual que en el método de diferencias de Newton, en los polinomios de Lagrange se deben


elegir cuales elementos se usaran para el cálculo bajo las mismas consideraciones, de acuerdo a
ello el polinomio de Lagrange de 2do. orden queda:

(22 − 20)(22 − 25)


𝐿𝐿0 = = −0.04
(10 − 20)(10 − 25)

(22 − 10)(22 − 25)


𝐿𝐿1 = = 0.72
(20 − 10)(20 − 25)

42
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

(22 − 10)(22 − 20)


𝐿𝐿2 = = 0.32
(25 − 10)(25 − 20)

𝑓𝑓2 (𝑥𝑥) = −0.04(1003) + 0.72(1010) + 0.32(1008) = 1009.64𝑚𝑚𝑚𝑚

La mayor exactitud en este ejemplo se alcanzaría cuando el polinomio de Lagrange tendría 4to.
orden.

6.4 Regresión exponencial

Otra forma de interpolar es a través de la regresión exponencial, la cual tiene las siguientes
fórmulas:

𝑦𝑦 = 𝑎𝑎𝑒𝑒 𝑏𝑏𝑏𝑏

∑�𝑥𝑥 ∙ 𝑙𝑙𝑙𝑙(𝑦𝑦)� − �������


𝑙𝑙𝑙𝑙(𝑦𝑦) ∑ 𝑥𝑥
𝑏𝑏 = 2
∑ 𝑥𝑥 − 𝑥𝑥̅ ∑ 𝑥𝑥

��������
𝑎𝑎 = 𝑒𝑒 �𝑙𝑙𝑙𝑙 (𝑦𝑦)−𝑏𝑏𝑥𝑥̅ �

Donde los valores testados corresponden a los promedios o medias aritméticas simples. Usaremos
el mismo ejemplo que en interpolaciones anteriores para mostrar su proceso.

Ejemplo

Se han medido las longitudes de un alambre de acero a distintas temperaturas y se desea obtener
por medio de regresión exponencial el valor de la longitud del alambre cuando su temperatura sea
de 22°C. Los valores de las longitudes a distintas temperaturas aparecen en la siguiente tabla:

Temperatura Longitud ln(y) x2 x(ln(y))


°C mm
10 1003 6.910750788 100 69.10750788
15 1005 6.91274282 225 103.6911423
20 1010 6.91770561 400 138.3541122
25 1008 6.915723449 625 172.8930862
30 1014 6.921658184 900 249.1796946
Σ 100 Σ 5040 Σ 34.57858085 Σ 2250 Σ 733.2255432

43
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

733.2255432 − 6.91571617(100)
𝑏𝑏 = = 0.166615704
2250 − 20(100)

𝑎𝑎 = 𝑒𝑒 �6.91571617 −0.166615704 (20)� = 35.99579318

𝑦𝑦 = 35.99579318𝑒𝑒 0.166615704 (22) = 1406.623687𝑚𝑚𝑚𝑚

Este resultado parece totalmente ilógico de acuerdo a los datos de la tabla, esto es debido a que
los valores no siguen una forma exponencial.

6.5 Regresión logarítmica

Otra forma de interpolación es la regresión logarítmica cuyas formulas se presentan a


continuación:

𝑦𝑦 = 𝑎𝑎 ∙ 𝑙𝑙𝑙𝑙(𝑥𝑥) + 𝑏𝑏

∑ 𝑙𝑙𝑙𝑙(𝑥𝑥𝑥𝑥) − 𝑦𝑦� ∑ 𝑙𝑙𝑙𝑙(𝑥𝑥)


𝑎𝑎 = 2
∑�𝑙𝑙𝑙𝑙(𝑥𝑥)� − �������
𝑙𝑙𝑙𝑙(𝑥𝑥) ∑ 𝑙𝑙𝑙𝑙(𝑥𝑥)

𝑏𝑏 = 𝑦𝑦� − 𝑎𝑎 ∙ �������
𝑙𝑙𝑙𝑙(𝑥𝑥)

Una vez más los elementos testados de las formulas anteriores corresponden a los promedios o
medias aritméticas simples, usando el mismo ejemplo que en interpolaciones pasadas
mostraremos su aplicación.

Ejemplo

Se han medido las longitudes de un alambre de acero a distintas temperaturas y se desea obtener
por medio de regresión logarítmica el valor de la longitud del alambre cuando su temperatura sea
de 22°C. Los valores de las longitudes a distintas temperaturas aparecen en la siguiente tabla:

Temperatura Longitud ln(xy) ln(x) (ln(x))2


°C mm
10 1003 9.213335881 2.302585093 5.30189811
15 1005 9.620793022 2.708050201 7.333535892
20 1010 9.913437883 2.995732274 8.974411855

44
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

25 1008 10.13459927 3.218875825 10.36116158


30 1014 10.32285557 3.401197382 11.568114363
Σ 100 Σ 5040 Σ 49.20502163 Σ 14.62644078 Σ 43.5384135

Aplicamos las formulas de regresión logarítmica con estos datos:

49.20502163 − 1008(14.62644078)
𝑎𝑎 = = −19543.87337
43.5384135 − 2.925288156(14.62644078)

𝑏𝑏 = 1008 − (−19543.87337)(2.925288156) = 58179.46129

𝑦𝑦 = (−19543.87337) ∙ 𝑙𝑙𝑙𝑙(22) + 58179.46129 = −2231.480998𝑚𝑚𝑚𝑚

Como observamos el resultado de la regresión logarítmica es aun mas aberrante que el de la


exponencial para este caso debido a que los datos de la tabla tampoco siguen una forma
logarítmica, más bien tienden más a la linealidad como se corrobora por medio del coeficiente de
correlación.

6.5 regresión polinomial

La regresión polinomial requiere del conocimiento de resolución de sistemas de ecuaciones


lineales por tal motivo se dejó su presentación hasta este momento. El sistema de ecuaciones
lineales se forma mediante:

⎡ 𝑛𝑛 � 𝑥𝑥 � 𝑥𝑥 2 � 𝑥𝑥 3 ⋯⎤ ⎡ � 𝑥𝑥 ⎤
⎢ ⎥ 𝑎𝑎 ⎢ ⎥
⎢ � 𝑥𝑥 � 𝑥𝑥 2 � 𝑥𝑥 3 � 𝑥𝑥 4 ⋯⎥ ⎡𝑏𝑏 ⎤ ⎢ � 𝑥𝑥𝑥𝑥 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢� 𝑥𝑥 2 ⎥ ∙ ⎢ 𝑐𝑐 ⎥ = ⎢ 2 ⎥
� 𝑥𝑥 3 � 𝑥𝑥 4 � 𝑥𝑥 5 ⋯ 𝑑𝑑 � 𝑥𝑥 𝑦𝑦
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 3 ⎥ ⎣⋮⎦ ⎢ 3 ⎥
⎢� 𝑥𝑥 � 𝑥𝑥 4 � 𝑥𝑥 5 � 𝑥𝑥 6 ⋯⎥ ⎢� 𝑥𝑥 𝑦𝑦⎥
⎣ ⋮ ⋮ ⋮ ⋮ ⋯⎦ ⎣ ⋮ ⎦

El sistema de ecuaciones lineales se puede resolver por cualquier método y los resultados de a, b,
c, d,… se substituyen en:

𝑦𝑦 = 𝑎𝑎 + 𝑏𝑏𝑏𝑏 + 𝑐𝑐𝑥𝑥 2 + 𝑑𝑑𝑥𝑥 3 + ⋯

45
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Entre mayor sea el orden del polinomio mayor será la exactitud de la interpolación. Emplearemos
el mismo ejemplo que para los otros métodos de interpolación, para mostrar su aplicación.

Ejemplo

Se han medido las longitudes de un alambre de acero a distintas temperaturas y se desea obtener
por medio de regresión polinomial de 2do. orden el valor de la longitud del alambre cuando su
temperatura sea de 22°C. Los valores de las longitudes a distintas temperaturas aparecen en la
siguiente tabla:

Temperatura Longitud xy x2 x3 x4 x2y


°C mm
10 1003 10030 100 1000 10000 100300
15 1005 15075 225 3375 50625 226125
20 1010 20200 400 8000 160000 404000
25 1008 25200 625 15625 390625 630000
30 1014 30420 900 27000 810000 912600
Σ 100 Σ 5040 Σ 100925 Σ 2250 Σ 55000 Σ 1421250 Σ 2273025

El sistema de ecuaciones lineales se forma así:

5 100 2250 𝑎𝑎 5040


� 100 2250 55000 � ∙ �𝑏𝑏� = � 100925 �
2250 55000 1421250 𝑐𝑐 2273025

La solución del sistema se substituye en la ecuación polinomial:

𝑦𝑦 = 999 + 0.385714286(22) + 0.002857143(222 ) = 1008.868571𝑚𝑚𝑚𝑚

Si apreciamos este resultado es más congruente con los datos y con otros presentados. No
obstante, existen situaciones donde otro tipo de métodos obtienen mejores resultados. La mayor
parte de estos métodos también pueden ser usados para realizar una extrapolación, la
extrapolación ocurre cuando se desea pronosticar un valor que esta fuera del rango de los valores
tabulados. La extrapolación es muy útil en diversas areas del conocimiento, desde las finanzas
hasta la climatología.

46
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

7.- Solución de ecuaciones diferenciales

Las ecuaciones diferenciales tienen diversas formas que se evalúan de acuerdo al orden de las
diferenciales que implican y al grado del polinomio que involucran. Los métodos numéricos son
aptos para resolver ecuaciones diferenciales de la forma:

𝑑𝑑𝑑𝑑
= 𝑓𝑓(𝑥𝑥, 𝑦𝑦)
𝑑𝑑𝑑𝑑

Es decir, solo pueden resolver ecuaciones diferenciales de primer orden, si se desean resolver
ecuaciones diferenciales de ordenes más elevados, primero se deben hallar la ecuación
característica de la ecuación diferencial, resolverla y separarla en varias ecuaciones diferenciales
de primer orden.

Para resolver las ecuaciones diferenciales existe una cantidad infinita de métodos que se les
denominan métodos de Runge-Kutta, dentro de ellos hay un par que es muy conocido que son los
métodos de Euler y Heun, los cuales veremos a continuación.

7.1 método de Euler

El método de Euler es el más sencillo, pero solo puede resolver ecuaciones diferenciales de primer
grado, por lo tanto su aplicación es bastante reducida, su fórmula es la siguiente:

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )ℎ

Donde h es el tamaño de paso y f(x i ,y i ) es el polinomio de la ecuación diferencial el cual en este


caso no puede ser mayor de primer grado. Usaremos un ejemplo sencillo para mostrar su
aplicación.

Ejemplo

Encontrar la solución de la ecuación diferencial que se muestra a continuación, por medio del
método de Euler desde un valor inicial de x=0.2 hasta x=0.6 con h=0.2 y un valor inicial de y(0.2)=-
0.338

𝑑𝑑𝑑𝑑
= 9𝑦𝑦 + 5𝑥𝑥
𝑑𝑑𝑑𝑑

47
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

1era. Iteración

𝑓𝑓(0.2, −0.338) = 9(−0.338) + 5(0.2) = −2.042

𝑦𝑦(0.4) = −0.338 + (−2.042)0.2 = −0.7464

2da. Iteración

𝑓𝑓(0.4, −0.7464) = 9(−0.7464) + 5(0.4) = −2.042

𝑦𝑦(0.6) = −0.7464 + (−4.7176)0.2 = −1.68992

Esta es la solución de dicha ecuación diferencial, es importante notar que la única manera de
terminar el método es hasta que se alcance el límite superior de la variable independiente, por
otra parte la solución alcanzada por medio de los métodos numéricos debe ser siempre exacta, si
existe inexactitud es solo porque la ecuación o sus limites están mal planteados.

7.2 método de Heun

Cuando las ecuaciones diferenciales alcanzan polinomios cuadrados entonces ya no es posible usar
el método de Euler, en su lugar se usa el método de Heun que necesita dos fórmulas una llamada
predictor, la cual es la misma que en el método de Euler y otra llamada corrector, estas fórmulas
se muestran a continuación:

Predictor

0
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )ℎ

Corrector

0
𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓�𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 �
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ
2

Usaremos un ejemplo para mostrar la aplicación de este método.

Ejemplo

48
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Encontrar la solución de la ecuación diferencial que se muestra a continuación, por medio del
método de Heun desde un valor inicial de x=0.2 hasta x=0.6 con h=0.2 y un valor inicial de
y(0.2)=0.081

𝑑𝑑𝑑𝑑
= 9𝑦𝑦 − 25𝑥𝑥 2
𝑑𝑑𝑑𝑑

1era. Iteración

𝑓𝑓(0.2,0.081) = 9(0.081) − 25(0.22 ) = −0.271

𝑦𝑦(0.4)0 = 0.081 + (−0.271)0.2 = 0.0268

𝑓𝑓(0.4,0.0268) = 9(0.0268) − 25(0.42 ) = −3.7588

�−0.271 + (−3.7588)�
𝑦𝑦(0.4) = 0.081 + (0.2) = −0.32198
2

2da. Iteración

𝑓𝑓(0.4, −0.32198) = 9(−0.32198) − 25(0.42 ) = −6.89782

𝑦𝑦(0.6)0 = −0.32198 + (−6.89782)0.2 = −1.701544

𝑓𝑓(0.6, −1.701544) = 9(−1.701544) − 25(0.62 ) = −24.313896

�−6.89782 + (−24.313896)�
𝑦𝑦(0.6) = −0.32198 + (0.2) = −3.4431516
2

Cuando los polinomios de la función de la ecuación diferencial exceden el grado 2 entonces es


necesario usar otros métodos de Runge-Kutta, los cuales pueden resolver ecuaciones diferenciales
con funciones de cualquier grado.

7.3 métodos de Runge-Kutta

Como se dijo al principio del capítulo los métodos de Runge-Kutta son infinitos e incluyen a los
métodos de Euler y Heun, usándolos apropiadamente se pueden resolver ecuaciones diferenciales
de cualquier grado, las formulas generales de los métodos de Runge-Kutta son las siguientes:

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + 𝜑𝜑(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 , ℎ)ℎ

49
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Donde ϕ es denominada la función incremento que se calcula así:

𝜑𝜑 = 𝑎𝑎1 𝑘𝑘1 + 𝑎𝑎2 𝑘𝑘2 + 𝑎𝑎3 𝑘𝑘3 + ⋯

Las a son constantes seleccionadas de acuerdo al criterio de convergencia y las k se calculan así:

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + 𝑝𝑝1 ℎ, 𝑦𝑦𝑖𝑖 + 𝑞𝑞11 𝑘𝑘1 ℎ)

𝑘𝑘3 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + 𝑝𝑝2 ℎ, 𝑦𝑦𝑖𝑖 + 𝑞𝑞21 𝑘𝑘1 ℎ + 𝑞𝑞22 𝑘𝑘2 ℎ)

𝑘𝑘𝑛𝑛 = 𝑓𝑓�𝑥𝑥𝑖𝑖 + 𝑝𝑝𝑛𝑛−1 ℎ, 𝑦𝑦𝑖𝑖 + 𝑞𝑞𝑛𝑛−1,1 𝑘𝑘1 ℎ + 𝑞𝑞𝑛𝑛−1,2 𝑘𝑘2 ℎ + 𝑞𝑞𝑛𝑛−1,3 𝑘𝑘3 ℎ + ⋯ + 𝑞𝑞𝑛𝑛−1,𝑛𝑛−1 𝑘𝑘𝑛𝑛 ℎ�

El criterio de convergencia para segundo orden señala que:

𝑎𝑎1 + 𝑎𝑎2 = 1

1
𝑎𝑎2 𝑝𝑝1 = = 𝑎𝑎2 𝑞𝑞11
2

Si este criterio de convergencia se cumple, se pueden diseñar una infinita cantidad de métodos de
Runge-Kutta que pueden solucionar ecuaciones de hasta grado 2 en sus funciones. Además
existen otras formulas para grados más elevados.

7.3.1 Un método de Runge-Kutta de 3er. Orden

Las formulas que se mostraran a continuación son una posibilidad de los métodos de Runge-Kutta
de 3er. Orden que ya ha sido probada ampliamente.

1
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + (𝑘𝑘1 + 4𝑘𝑘2 + 𝑘𝑘3 )ℎ
6

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

ℎ 𝑘𝑘1 ℎ
𝑘𝑘2 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + �
2 2

𝑘𝑘3 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 − 𝑘𝑘1 ℎ + 2𝑘𝑘2 ℎ)

50
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

7.3.2 Un método de Runge-Kutta de 4to. Orden

Las formulas que se mostraran a continuación son una posibilidad de los métodos de Runge-Kutta
de 4to. Orden que ya ha sido probada ampliamente.

1
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )ℎ
6

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

ℎ 𝑘𝑘1 ℎ
𝑘𝑘2 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + �
2 2

ℎ 𝑘𝑘2 ℎ
𝑘𝑘3 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + �
2 2

𝑘𝑘4 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 + 𝑘𝑘3 ℎ)

7.3.3 Un método de Runge-Kutta de 5to. Orden

Las formulas que se mostraran a continuación son una posibilidad de los métodos de Runge-Kutta
de 5to. Orden que ya ha sido probada ampliamente.

1
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + (7𝑘𝑘1 + 32𝑘𝑘3 + 12𝑘𝑘4 + 32𝑘𝑘5 + 7𝑘𝑘6 )ℎ
90

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

ℎ 𝑘𝑘1 ℎ
𝑘𝑘2 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + �
4 4

ℎ 𝑘𝑘1 ℎ 𝑘𝑘2 ℎ
𝑘𝑘3 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + + �
4 8 8

ℎ 𝑘𝑘2 ℎ
𝑘𝑘4 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 − + 𝑘𝑘3 ℎ�
2 2

3ℎ 3𝑘𝑘1 ℎ 9𝑘𝑘4 ℎ
𝑘𝑘5 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + + �
4 16 16

3𝑘𝑘1 ℎ 2𝑘𝑘2 ℎ 12𝑘𝑘3 ℎ 12𝑘𝑘4 ℎ 8𝑘𝑘5 ℎ


𝑘𝑘6 = 𝑓𝑓 �𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 − + + − + �
7 7 7 7 7

51
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Los métodos de Runge-Kutta pueden seguir creciendo en orden hasta el infinito, pero se considera
que es suficiente mostrarlos hasta el quinto orden. Usaremos el mismo ejemplo que en método de
Heun pero ahora diseñaremos un método de Runge-Kutta de 2do. orden para resolver tal
ecuación.

Ejemplo

Encontrar la solución de la ecuación diferencial que se muestra a continuación, por medio de un


método de Runge-Kutta que cumpla con la condición de que a 1 =0.33 y con el criterio de
convergencia desde un valor inicial de x=0.2 hasta x=0.6 con h=0.2 y un valor inicial de
y(0.2)=0.081

𝑑𝑑𝑑𝑑
= 9𝑦𝑦 − 25𝑥𝑥 2
𝑑𝑑𝑑𝑑

En este caso antes de realizar la primera iteración se necesita diseñar el método para ello se usa la
condición que se menciona en el ejemplo y el criterio de convergencia quedando las ecuaciones
como siguen:

0.33 + 𝑎𝑎2 = 1

1
0.67𝑝𝑝1 = = 0.67𝑞𝑞11
2

Y las ecuaciones de este método diseñado son:

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + (0.33𝑘𝑘1 + 0.67𝑘𝑘2 )ℎ

𝑘𝑘1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

𝑘𝑘2 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + 0.746268656ℎ, 𝑦𝑦𝑖𝑖 + 0.746268656𝑘𝑘1 ℎ)

Ahora las aplicaremos

1era. Iteración

𝑘𝑘1 = 𝑓𝑓(0.2,0.081) = 9(0.081) − 25(0.22 ) = −0.271

𝑘𝑘2 = 𝑓𝑓(0.349253731, −0.040447761) = 9(0.040447761) − 25(0.3492537312 ) = −3.413484066

52
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

𝑦𝑦(0.4) = 0.081 + [0.33(−0.271) + 0.67(−3.413484066)](0.2) = −0.394292864

2da. Iteración

𝑘𝑘1 = 𝑓𝑓(0.4, −0.394292864) = 9(−0.394292864) − 25(0.42 ) = −7.548635783

𝑘𝑘2 = 𝑓𝑓(0.549253731, −1.52095492) = 9(−1.52095492) − 25(0.5492537312 ) = −21.23058581

𝑦𝑦(0.6) = −0.394292864 + [0.33(−7.548635783) + 0.67(−21.23058581)](0.2) = −3.737401324

La validez de un resultado respecto a otro depende del sistema físico que se esté analizando y de
su modelado matemático, ya que normalmente las ecuaciones diferenciales son usadas para
obtener la respuesta transitoria de un sistema y si se sobrepasa el periodo transitorio entonces los
resultados de las ecuaciones son inválidos.

7.4 Solución de sistemas de ecuaciones diferenciales

Consideremos ahora un sistema de ecuaciones diferenciales, el cual tiene la siguiente forma


general:

𝑑𝑑𝑦𝑦1
= 𝑓𝑓(𝑥𝑥, 𝑦𝑦1 , 𝑦𝑦2 , ⋯ 𝑦𝑦𝑛𝑛 )
𝑑𝑑𝑑𝑑

𝑑𝑑𝑦𝑦2
= 𝑓𝑓(𝑥𝑥, 𝑦𝑦1 , 𝑦𝑦2 , ⋯ 𝑦𝑦𝑛𝑛 )
𝑑𝑑𝑑𝑑

𝑑𝑑𝑦𝑦𝑛𝑛
= 𝑓𝑓(𝑥𝑥, 𝑦𝑦1 , 𝑦𝑦2 , ⋯ 𝑦𝑦𝑛𝑛 )
𝑑𝑑𝑑𝑑

Para poderlo resolver por medio de los métodos numéricos que hemos visto, primero
seleccionaremos el método que pueda resolver los grados de todas las ecuaciones y después
aplicaremos, el método seleccionado a la primera ecuación y usaremos esa solución
substituyéndolo en la siguiente iteración y así sucesivamente hasta terminar de realizar esa
iteración para todas las ecuaciones, se repetirá el mismo proceso hasta que se llegue al límite
superior de la variable independiente. Usaremos el método de Euler para mostrar este proceso.

Ejemplo

53
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

Encontrar la solución del sistema de ecuaciones diferenciales que aparece a continuación, desde
x=0.2 hasta x=0.6 con h=0.2, y 1 (0.2)=0.12 y 2 (0.2)=-0.3 por medio del método de Euler

𝑑𝑑𝑦𝑦1
= 0.5𝑥𝑥𝑦𝑦2
𝑑𝑑𝑑𝑑

𝑑𝑑𝑦𝑦2
= 2𝑦𝑦1 − 𝑥𝑥𝑦𝑦2
𝑑𝑑𝑑𝑑

1era. Iteración

𝑓𝑓1 (0.2,0.12, −0.3) = 0.5(0.2)(−0.3) = −0.03

𝑦𝑦1 (0.4) = 0.12 + (−0.03)0.2 = 0.114

𝑓𝑓2 (0.2,0.12, −0.3) = 2(0.12) − 0.2(−0.3) = 0.3

𝑦𝑦2 (0.4) = −0.3 + (0.3)0.2 = −0.24

2da. Iteración

𝑓𝑓1 (0.4,0.114, −0.24) = 0.5(0.2)(−0.24) = −0.024

𝑦𝑦1 (0.6) = 0.114 + (−0.024)0.2 = 0.1092

𝑓𝑓2 (0.4,0.114, −0.24) = 2(0.114) − 0.2(−0.24) = 0.276

𝑦𝑦2 (0.6) = −0.24 + (0.276)0.2 = −0.1848

Los valores de y 1 (0.6) y y 2 (0.6) son las soluciones del sistema de ecuaciones diferenciales.

Apéndice.- Programación en javascript/html

Una forma de desarrollar software sin necesidad de ningún compilador en especifico y que pueda
utilizarse en varios sistemas operativos es el lenguaje html y su consola matemática denominada
javascript. El lenguaje html fue concebido para la navegación en internet y su objetivo básico es
proporcionar una interfaz grafica al usuario a modo de hacer amigable la visita de las páginas de
internet, por lo cual el nucleo de dicho lenguaje carece de funciones matemáticas, ya que su único
objetivo era la presentación de páginas web al usuario y su interacción con las mismas. Pronto los

54
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

arquitectos del world wide web se dieron cuenta de la inminente necesidad de realizar
operaciones matemáticas dentro de las mismas páginas web, por lo cual se añadió una consola
matemática al lenguaje html basada en lenguaje java y que se denomino javascript.

Para poder realizar cualquier programa en html/javascript se necesita:

1 computadora de escritorio o tablet o Smartphone con cualquier sistema operativo

1 software para edición de texto ya sea en Windows, Android, iOS o macOS.

1 navegador con la consola javascript habilitada como Edge, Chrome, Firefox, Opera, Safari etc.
normalmente todos los navegadores traen la consola de javascript habilitada desde la instalación.
El formato de un programa en javascript/html tiene la siguiente estructura básica:

El encabezado

El cuerpo del programa

La forma

Los comandos de entrada de información

La consola javascript

Los comandos de salida de información

Comandos para cerrar el programa

Vamos a explicar cada una de estas estructuras y después se presentara un programa en


javasacript/html donde se ejemplifican tales estructuras.

El encabezado es básicamente un identificador en donde se le informa al navegador que versión


de lenguaje html debe de ocupar , esto debido a que existen en uso navegadores muy viejos que
no aceptan ciertos comandos en la interfaz del usuario.

El cuerpo del programa es donde se incluirán todos los elementos que interactúan con el usuario.

La forma es un marco de referencia invisible gráficamente para el usuario y sirve para delimitar las
áreas donde se van a colocar los elementos del programa, para ello se usan las divisiones a

55
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

manera de indicarle al navegador que elementos corresponden a que divisiones dentro del
programa.

Los comandos de entrada del programa son espacios gráficos donde el usuario del programa
interactúa con él, introduciendo datos necesarios para que el programa se ejecute.

La consola javascript es donde se realizan todas las operaciones matemáticas desde sumas hasta
operaciones complejas todas deben realizarse dentro de esta consola.

Los comandos de salida del programa son espacios gráficos donde el usuario del programa obtiene
los resultados computados en la consola javascript.

Por último los comandos para cerrar el programa es una señalética específica para indicar al
navegador que ahí se termina el programa de html.

A continuación se muestra el listado de un programa en html/javascript, donde se indican en color


rojo las estructuras de cada línea y en color verde se menciona el efecto que producen.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> encabezado, programa escrito en
lenguaje html versión 1.0 en ingles
<html xmlns="http://www.w3.org/1999/xhtml"> encabezado, organización que da las pautas de
programación en html
<head> encabezado, inicio del título del programa el cual aparece en la pestaña del
navegador
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> encabezado, tipo de
caracteres usados en el programa
<title>Untitled Document</title> encabezado, título del programa el cual aparece en la
pestaña del navegador
</head> encabezado, fin del título del programa
<body> cuerpo del programa, apertura del cuerpo del programa
<h1 style="text-align:center;"> Calculadora de sumas complejas</h1> cuerpo del programa,
primera línea de texto titular que aparece en letras muy grandes con alineación centrada
<h2 style="text-align:center;">libreria &#9889</h2> cuerpo del programa, segunda línea de
texto titular que aparece en letras grandes con alineación centrada y con un símbolo
<div id="calc"> cuerpo del programa, división para incluir la interfaz grafica con el
usuario denominada calc
<hr /> cuerpo del programa, línea de división grafica que aparece en el programa
<form name="forma"> forma del programa, inicio de la forma del programa denominada forma
parte real numero 1 <input name="x1" type="text" id="x1" size="3" maxlength="9" /> forma del
programa, comando para pedir al usuario un dato denominado x1, el cual tiene un tamaño de 3
caracteres normalmente pero puede aceptar hasta 9 como máximo
parte imaginaria numero 1<input name="y1" type="text" id="y1"size="3" maxlength="9" /> forma
del programa, comando para pedir al usuario un dato denominado y1, el cual tiene un tamaño
de 3 caracteres normalmente pero puede aceptar hasta 9 como máximo
<br> forma del programa, comando para hacer un salto de linea
parte real numero2<input name="z1" type="text" id="z1" size="3" maxlength="9" /> forma del
programa, comando para pedir al usuario un dato denominado z1, el cual tiene un tamaño de 3
caracteres normalmente pero puede aceptar hasta 9 como máximo
parte imaginaria numero 2<input name="b1" type="text" id="b1"size="3" maxlength="9" /> forma
del programa, comando para pedir al usuario un dato denominado b1, el cual tiene un tamaño
de 3 caracteres normalmente pero puede aceptar hasta 9 como máximo
<br> forma del programa, comando para hacer un salto de linea
<script type="text/javascript"> consola javascript, inicio de la consola javascript

56
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

function calcular()consola javascript, función denominada calcular


{ consola javascript, inicio de la función
var x11=parseFloat(document.forma.x1.value); consola javascript, declaración de una
variable denominada x11 que proviene de leer el dato x1 desde html
var x12=parseFloat(document.forma.y1.value); consola javascript, declaración de una
variable denominada x12 que proviene de leer el dato y1 desde html
var x13=parseFloat(document.forma.z1.value); consola javascript, declaración de una
variable denominada x13 que proviene de leer el dato z1 desde html
var x14=parseFloat(document.forma.b1.value); consola javascript, declaración de una
variable denominada x14 que proviene de leer el dato b1 desde html
var aa=0,bb=0; consola javascript, declaración de variables denominadas aa y bb
inicializadas a cero
if(x11==""||isNaN(x11)||x12==""||isNaN(x12)||x13==""||isNaN(x13)||
x14==""||isNaN(x14)) consola javascript, sentencia condicional para advertir al usuario que
introdujo un valor no numérico o vacio

{ consola javascript, inicio de la ejecución de la sentencia condicional si algún


dato fue introducido en vacio o no numérico
alert("No Numerico"); consola javascript, comando para mostrar una ventana de
alerta que indique al usuario el error de introducción
} consola javascript, fin de la ejecución de la sentencia condicional si algún dato
fue introducido en vacio o no numérico
aa=x11+x13; consola javascript, ejecución de la operación matemática de las
variables en este caso la suma de la parte real de un numero complejo
bb=x12+x14; consola javascript, ejecución de la operación matemática de las
variables en este caso la suma de la parte imaginaria de un numero complejo
document.forma.a.value=aa; consola javascript, envio del resultado de la operación
de la parte real a una variable denominada a dentro de la forma

document.forma.b.value=bb; consola javascript, envio del resultado de la operación


de la parte imaginaria a una variable denominada a dentro de la forma
} consola javascript, fin de la función calcular
</script> consola javascript, fin de la consola javascript
<br> forma del programa, comando para hacer un salto de linea
<input name="calc" type="button" value="calcular" onClick="calcular()" /> forma del
programa, comando para pedir al usuario el inicio de la ejecución de la función calcular al
apretar un botón llamado calcular

<input name="borrar" type="reset" value="borrar" /> forma del programa, comando para pedir
al usuario el borrado de todos los datos de la función calcular al apretar un botón llamado
borrar
<br> forma del programa, comando para hacer un salto de linea
suma parte real =<input name="a" type="text" id="a" size="3" maxlength="9" /> forma del
programa, comando para mostrar al usuario un dato denominado a, el cual tiene un tamaño de 3
caracteres normalmente pero puede aceptar hasta 9 como máximo

suma parte imaginaria=<input name="b" type="text" id="b" size="3" maxlength="9" /> forma del
programa, comando para mostrar al usuario un dato denominado a, el cual tiene un tamaño de 3
caracteres normalmente pero puede aceptar hasta 9 como máximo

<hr /> forma del programa, línea de división grafica que aparece en el programa

</form> forma del programa, fin de la forma del programa denominada forma
</div> cuerpo del programa, fin de la división para incluir la interfaz grafica con el
usuario denominada calc
</body> cuerpo del programa, fin del cuerpo del programa
</html> encabezado, fin del programa en html

57
Tecnológico Nacional de México Instituto Tecnológico de Puebla
Dr. Ing. Ricardo Victoria López Apuntes de Métodos Numéricos

58

You might also like