Sei sulla pagina 1di 52

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

MIS PRIMEROS APUNTES DE MÉTODOS


NUMÉRICOS
DIEGO DIAZ
1. Departamento de Ciencias Exactas, Unidad 2, Facultad de Mecanica, Universidad de las Fuerzas Armadas Espe, Quito, Ecuador.

Introducción

Los métodos numéricos constituyen técnicas mediante las cuales es posible formular problemas ma-
temáticos, de tal forma que puedan resolverse utilizando operaciones aritméticas. Aunque existen muchos
tipos de métodos numéricos, éstos comparten una caracterı́stica común: invariablemente requieren de un
buen número de tediosos cálculos aritméticos. No es raro que con el desarrollo de computadoras digitales
eficientes y rápidas, el papel de los métodos numéricos en la solución de problemas en ingenierı́a haya
aumentado de forma considerable en los últimos años.Los métodos numéricos son técnicas mediante
las cuales es posible formular problemas de tal forma que sean resueltos con operaciones aritméticas.
Aunque hay muchos tipos de métodos, todos comparten una caracterı́stica común, llevan a cabo un
buen número de cálculos aritméticos y emiten soluciones aproximadas. Con fundamento en lo antes
mencionado, tenemos varias razones para el estudio de los métodos numéricos: Los métodos numéricos
son herramientas poderosas capaces de manejar sistemas de ecuaciones grandes y complicadas que son
difı́ciles de resolver analı́ticamente.
Existe software comercial que facilita la solución de problemas mediante los métodos numéricos. El uso
inteligente de estos programas depende del conocimiento de la teorı́a en la que se basan estos métodos.
Si se conocen los métodos numéricos y se aplican los conocimientos de programación, se tiene entonces la
capacidad de diseñar programas propios, sin tener que comprar el software costoso
Los métodos numéricos son un vehı́culo eficiente para aprender a explotar las bondades que nos ofrecen
las computadoras para resolver problemas.
Son un medio para reducir problemas de las matemáticas superiores mediante operaciones aritméticas
básicas

Trabajo recibido

Correspondencia a:
P. Medina
Email:

Métodos Numéricos 1
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

CONCEPTOS BÁSICOS
Lı́mites y Continuidad
Limite x = x0
Limx→x0 f (x) = I
∀ε > 0, talque|x − x0 | < ϑ ⇒ |f (x) − I| < ε
Continuidad en un punto Existe el valor de la función en el punto. Ambos valores coinciden

Teorema de Bolzano

Supongamos que f ∈ C[a,b] y L es cualquier número entre f(a) y f(b). Entonces existe un número c ∈ (a,b)
tal que f(c) = L.

2 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Teorema de Weisrstrass
Supongamos que f ∈ C[a,b]. Entonces existen una cota inferior M1, una conta superior M2 y dos números
x1,x2 ∈ [a,b] tales que
M1 = f (x1 ) ≤ f (x) ≤ f (x2 ) = M2 , ∀x ∈ [a, b]
Generalmente se escribe
M1 = f (x1 ) = mina≤x≤b f (x)
M2 = f (x2 ) = maxa≤x≤b f (x)

Teorema de Rolle
Supongamos que f ∈ C[a,b] y que f’(x) existe para todo x ∈(a,b). Si f(a) = f(b) = 0, entonces existe un
número c ∈ (a,b) tal que f’(c) = 0

Teorema de Lagrange
Supongamos que f ∈ C[a,b] y que f’(x) existe para todo x ∈ (a,b). Si f(a) = f(b), entonces existe un número c
∈ (a,b) tal que
f (b) − f (a)
f 0 (c) =
b−a
Primer Teorema Fundamental del Cálculo
Si f es continua en [a,b] y F es una primitiva cualquiera de f en [a,b], es decir, F’(x) = f(x), entonces
Z b
f (x)dx = F (b) − F (a)
a

Métodos Numéricos 3
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Segundo Teorema Fundamental del Cálculo


Si f es continua en [a,b] y x ∈ (a,b), entonces
Z x
d
f (t)dt = f (x)
dx a

Teorema del Valor Medio para Integrales


Supongamos que f ∈ C[a,b]. Entonces, existe un número c en (a,b) tal que
Z b
1
f (x)dx = f (c)
b−a a

El valor f(c) es el valor medio de f en el intervalo [a,b].

Teorema del Valor Medio Ponderado para Integrales

Supongamos que f,g ∈ C[a,b] y que g(x) ≥ 0 para todo x ∈ [a,b]. Entonces existe un número c ∈ (a,b) tal
que
Z b Z b
f (x)g(x)dx = f (c) g(x)dx
a a

Definición de Serie
Dada una sucesión {an }∞
n=1 n=1, la serie de término general an se denota por:


X
an
n=1

Definición de Suma Parcial


La suma parcial n-ésima de la serie, se define como:
n
X
Sn = ak
k=1

4 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Convergencia y Divergencia
Si la sucesión {Sn }∞
n=1 converge a un lı́mite S, llamado suma de la serie, es decir:

n
X
Limn→∞ Sn = Limn→∞ ak = S
k=1

se dice que la serie converge; caso contrario, la serie diverge

Teorema de Taylor
Supongamos que f ∈ Cn+1[a,b] y sea x0 ∈ [a,b]. Entonces, para cada x ∈ (a,b), existe un número c = c(x)
que está entre x0 y x y verifica que:
f (x) = Pn (x) + Rn (x)
donde:
n
X f (n) (x0 )
Pn (x) = (x − x0 )k
k!
k=0

f (n+1)(c)
Rn (x) = (x − x0 )(n + 1)
(n + 1)!

Polinomio de Taylor
El polinomio de Taylor, alrededor de un punto x0, se define como
1 1
Pn (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 )(x − x0 )2 + .. + f (n) (x0 )(x − x0 )n
2 n!

Ahora se desarrollará el teorema de Taylor para la función ex , entonces tenemos:


n
X f (k) (x0 ) k
Pn (x) = (x − x0 )
k!
k=0

Aproximaremos para un n = 4
4
X f (k) (x0 ) k
P4 (x) = (x − x0 )
k!
k=0

Desarrollamos:
0 1 2 3 4
f (0) (x0 )(x − x0 ) f (1) (x0 )(x − x0 ) f (2) (x0 )(x − x0 ) f (3) (x0 )(x − x0 ) f (4) (x0 )(x − x0 )
P4 (x) = + + + +
0! 1! 2! 3! 4!
0 1 2 3 4
exo (x − x0 ) exo (x − x0 ) exo (x − x0 ) exo (x − x0 ) exo (x − x0 )
P4 (x) = + + + +
1 1 2 6 24
2 3 4
x x x
P4 (x) = 1 + x + + +
2 6 24
Entonces tenemos:
x2 x3 x4 e(c) x5
n=4 f (x) = ex ⇒ f (x) = 1 + x + + + +
2 6 24 5!
x2 x3 e(c) x4
n=3 f (x) = ex ⇒ f (x) = 1 + x + + +
2 6 4!
x2 e(c) x3
n=2 f (x) = ex ⇒ f (x) = 1 + x + +
2 3!

Métodos Numéricos 5
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

e(c) x2
n=1 f (x) = ex ⇒ f (x) = 1 + x +
2!
Orden de Aproximación O(hn ))
Si una función p(n) aproxima a otra función f(h) tal que

f (h) = p(h) + O(hn )

Entonces, existe una constante real M > 0 y un número n ∈ N tal que

|f (h) − p(h)|
≤M
|hn |

|f (h) − p(h)| ≤ M |hn |

Propiedades
O(hp ) + O(hp ) = O(hp )
O(hp ) + O(hp ) = O(hr )
siendo r = min{p, q}
O(hp )O(hs ) = O(hw )
siendo w = p + s

6 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Propagación de Error
Consideremos dos números p y q, que han sido aproximados por p̂ y q̂, con errores p y q , respectivamente, de
tal forma que
p = p̂ + p
q = q̂ + q

Suma y Diferencia
p + q = (p̂ + p ) + (q̂ + q )
= (p̂ + q̂) + (p + q )
El error en una suma es la suma de los errores absolutos de los sumandos.
Para la diferencia:
p − q = (p̂ + p ) − (q̂ + q )
= (p̂ − q̂) + (p + q )

El error en una diferencia es igual a la suma de los errores absolutos.

Multiplicación y Cociente

pq = (p̂ + p )(q̂ + q )
= p̂q̂ + p̂q + q̂p + p q
pq − p̂q̂ = p̂q + q̂p + p q
pq − p̂q̂ p̂q + q̂p + p q
= , p 6= 0, q 6= 0
pq pq
p̂q q̂p p q
= + +
pq pq pq
q p
= + +0
q p
p̂ q̂ p q
≈ 1, ≈ 1, ≈0
p q pq
Rpq = Rp + Rq

El error relativo del producto es la suma de los errores relativos.

Métodos Iterativos
En lo que sigue se desarrollarán algunos métodos numéricos iterativos (consiste en sustituir repetidamente en
una misma fórmula el valor previamente obtenido) para determinar la raı́z de una ecuación

f (x) = 0

bajo el supuesto que el mismo existe.


Considerando un función continua f (x), se construye una sucesión de aproximaciones {xn } que convergerán a
la raı́z x∗ .

Convergencia

En este contexto, convergencia indica que el error

|x∗ − xn | → 0

cuando
n→∞
Adicionalmente a lo señalado, la velocidad de convergencia dependerá del método a utilizar y, en algunos casos
de ciertas caracterı́sticas o propiedades de la función f .

Métodos Numéricos 7
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

1. ANÁLISIS DEL ERROR

Debemos recordar ciertas conceptos que nos ayudrán en el transcurso del curso, entre ellos

Cifras Signicativas: Numero de digitos con los que se vá a trabajar


Exactitud: Se refiere a la aproximación de un numero o de una medida al vlor numérico que se supone representa
Precisión: Se refiere al número de cifras significativas que representa una cantidad
Error Relativo: Diferencia que existe enre el valor real y el valor aproximado

|P − P 0 |
Rp = , P 6= 0
P
Que expresa el error de forma porcentual.
Error Absoluto: Cociente entre el valor del Error Absoluto y el valor Real

Ep = |p − p0 |
Error de Truncamiento: El que se produce cuando se aplica un procedimiento matemático aproximado para
determinar un valor exacto

1.1.- Método de la Bisección


Para desarrollar el método de la bisección, consideraremos las siguientes hipótesis:
♣ f(x) contı́nua en [a,b]
♣ f(a) y f(b) tienen signos opuetos (f(a)(b) < 0)
♣ El error de tolerancia es mayor que cero (tol > 0).
El teorema del valor medio, con las hipótesis establecidas, nos asegura la existencia de al menos una raı́z en
[a,b]

Procedimiento
a+b
♣ Se empieza con xi = el punto medio del intervalo [a,b], [a,b]=[a1,b1]= I1, y se evalua f(x1).
2
♣ Si f(x1)=0 se ha encontrado la raı́z y, por lo tanto, el método a finalizado ♣ Si f(x1)6= 0 se selecciona un nuevo
intervalo, que puede ser [a,x1] o [x1,b]. El intervalo seleccionado dependerá de que f(a).f(x1) < 0 o f(x1).f(b) <
0 se cumpla
a2 + b2
♣ En el nuevo intervalo I2 =[a1,x1] ó I2 =[x1,b1] se repite el primer paso, es decir, se calcula x2 =
2
donde (a2 = a1, b2 = x1) ó (a2 = x1 ó b2 = b1), respectivamente.
♣ Se repiten los primeros, evaluando f(xn), n ∈ N hasta que :

error = |bn − an | < tol

8 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo

a=-1;
b=4;
f=@(x)(x^2-5);
e=0.00001;

if f(a)*f(b)<0
c=(a+b)/2;
while abs(f(c))>e
c=(a+b)/2;
if f(a)*f(c)<0
b=c;
end
end
else
disp(’No tiene solución en ese intervalo’);
end
r1 = c;

if f(a)*f(b)<0
c=(a+b)/2;
while abs(f(c))>e
c=a+b/2;
if f(c)*f(b)<0
a=c;
end

end
end
r2 = c;

1.2.- Método de Newton - Rhapson

Para desarrollar el método de la Newton-Rhapson, consideraremos las siguientes hipótesis:


♣ f ∈ C2[a,b].
♣ Existe un número x ∈[a,b] tal que f(x)=0
♣ f’(x)6=0
♣ El error de tolerancia es mayor que cero (tol ¿0)
El teorema del Newton-Rhapson, con las hipótesis establecidas, nos asegura que existe una suceción {xk }∞k=0
k=0 que converge a x ∈[a,b],cualquiera que sea su aproximación inicial x0 ∈ [x − λ, p + λ] λ > 0;utilizando el
siguiente proceso iterativo:
f (xk )
xk+1 = xk − 0
f (xk )
k = 0, 1, 2, ...

Métodos Numéricos 9
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Procedimiento
♣ Definir el punto inicial x0, çercano.a la raı́z buscada y la tolerancia o error e.
♣ Empezar el proceso iterativo
f (x0 )
x1 = x0 − 0
f (x0 )
♣ Comprobar si f(x1)=0. Si esto ocurre el método termina; caso contrario, hacer x0 = x1 y regresar al primer
paso
♣ Continuar con los ultimos pasos hasta que
f (x0 ) ≤ e
Algoritmo
x0=2;
f=@(x)(x^2-9);
f1=@(x)(2*x);
e=0.000001;

while abs(f(x0))>e

x1=x0-(f(x0)/f1(x0));
x0=x1;
end
raiz=x1;
1.3.- Método de la Secante

Para desarrollar el método de la secante, consideraremos las siguientes hipótesis:


♣ f(x) contı́nua en [a,b]
♣ f(a) y f(b) tienen signos opuetos (f(a).(b) < 0)
♣ El error de tolerancia es mayor que cero (tol > 0)
♣ Con las hipótesis establecidas, de manera similar al Método de Newton Rhapson, podemos decir que existe
una suceción {xk }∞ k=0 que converge a x ∈[a,b],considerando dos puntos iniciales x0 ∈ [x − λ, p + λ] cercanos a
la raiz (x,0); utilizando el siguiente proceso iterativo

(xk − xk−1 )f (xk )


xk+1 = xk −
f (xk ) − f (xk−1 )

k = 0, 1, 2, ...

Procedimiento
♣ Definir los puntos inicial x0 y x1 çercanos.a la raı́z buscada; además, se fija la tolerancia o error e.
♣ Se calcula el ”primer valor”x2 con la formula iterativa
♣ Se comprueba si f(x2)=0. Si esto ocurre el método termina; caso contrario, hacer x0 = x1 y x1 = x2 y volver
a calcular x2 con la fórmula iterativa
f (x0 )(x1 − x0 )
x2 = x1 −
f (x1 ) − f (x0 )
♣ Repetir el segundo paso hasta que
f (x2 ) ≤ e

10 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo

f=@(x)(x^2)
x0 = 2;
x1 = 5;
e = 0.00001;
x2 = x0 -(x1-x0)*f(x0)/(f(x1)-f(x0));
while abs(f(x2))>e
if f(x2)==0
raiz = x2;
break
else
x0=x1;
x1=x2;
end
x2 = x0 -(x1-x0)*f(x0)/(f(x1)-f(x0));
end
raiz = x2
2. SISTEMAS LINEALES

Cuando se analiza un problema se busca transformarlo o expresarlo como un sistema de ecuaciones lineales
y, a continuación, buscar su solución a través de métodos numéricos. Por tal motivo, los sistemas de ecuaciones
lineales es la herramienta més utilizada en la ingenierı́a moderna. Los sistemas lineales se pueden resolver por
distintos métodos, aquı́ se estudiarán el Metodo de Gauus, Gauss Jordan, Triangular Superior, Triangular In-
ferior Y Tridiadiagonales

2.1.- Conceptos Básicos

Una ecuación lineal sobre < de n variables es una expresión de la forma:

a1 x1 + a2 x2 + · · · + an xn = b

en donde a1 , a2, . . . an y b son números conocidos y x1 , x2, . . . xn son variables, llamadas incognitas. Los ai se
denominan coeficientes de la ecuación, y b es el termino independiente de la ecuación.

Las ecuaciones en dos variables se representan geométricamente por una recta; las de tres variables por un
plano; para más de tres variables no se tiene representación visual, pero los geómetras le llaman hiperplano.

Un sistema de m ecuaciones lineales con n incognitas, es una expresión de la forma :




 a11 x1 + a12 x2 + · · · + a1n xn = b1

a x + a x + · · · + a x = b
21 1 22 2 2n n 2


 ···
am1 x1 + am2 x2 + · · · + amn xn = bm

En donde los aij ∈ < se conocen como Coeficientes del Sistema. El primer subı́ndice en los coeficientes aij ∈ <
indica el número de la ecuación, y el segundo, el número de la variable o Incógnita xi .
Los bi ∈ < se llaman términos independientes del sistema

Para la resolución de sistemas lineales se debe tomar en cuenta los siguientes puntos:
Sea una matriz de orden n × n y b un vector de orden n × 1 entonces el sistema lineal Ax = b, pueden tener: 0,1
o infinitas soluciones. En la mayorı́a de casos se busca obtener una única solución. Para que el sistema Ax = b
tenga una única solución la matriz A debe cumplir con los siguientes requisitos: Sea la matriz A una matriz de
orden n × n. Las siguientes proposiciones son equivalentes:

1. La ecuación Ax = b tiene exactamente una solución, con b 6= 0.

Métodos Numéricos 11
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2. det(A) 6= 0
3. A tiene inversa.
4. La única solución de Ax = 0 es x = 0.

5. Las columnas de A son linealmente independientes.


6. Las filas de A son linealmente independientes. Si A cumple con estas propiedades se dice que es no singular,
caso contrario se dice que A es songular
2.2.- El valor Residual

Considerando que el residuo de una solución de la ecuación

f (x) = 0

Se define como
r = f (x)
Para un sistema lineal de ecuaciones, el residuo de una aproximación a la solución x, se puede definir como

r = Ax − b

Se debe contar que r es un vector y, que su tamaño (norma) es una medida que indica cuan cerca estamos de
la solución

2.3.- Norma de una Matrı́z

La norma se define como una magnitud que mide una distancia, la misma tien las siguientes propiedades
||A|| > 0 p
kAk = Ax2 + Ay 2 + Az 2 + .... + AN 2
kAk = k

kAk > 0

kAk = 0, si A = 0 p
kAk = Ax2 + Ay 2 + Az 2 + .... + AN 2

kAk = 0

kAk = 0
||cA|| = |c|||A||| p
||cA|| = (c2 x12 + c2 x22 + c2 x32 + c2 x42 + ... + c2 xN 2 )
p
||cA|| = |c| x12 + x22 + x32 + ... + xN 2

||cA|| = ||cA||

||A + B|| ≤ ||A|| + ||B||


||A + B||2 = kAk2 + 2kAkkBk + kBk2
||A + B||2 = (kAk + kBk)2

||A + B||2 ≤ (kAk + kBk)2

12 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.4.- Número de Condicionamiento

Sea A una matriz cuadrada


κ = kAkkA−1 k
κ recibe el nombre de número de condición de una matriz A. Además, κ(A) ≤ 1 y si κ es un número próximo
a 1 se dice que A es una matriz bien condicionada y si es mucho mayor a 1, se dice que la matriz está mal
condicionada.Cuando el número de condicionamiento es cercano a 1, expresa para pequeños cambios en los datos
de entrada, producirán pequeñoss cambios en las salidas; caso contrario, si en número de condicionamiento es
grande, indica que pequeños cambios en los datos de entrada, producen grandes cambios en las salidas.

2.5.- Matrı́z Triangular Superior

Matriz de orden NxN


A = [aij], donde i > j
Hallemos un método para hallar la solución de un sistema de ecuaciones lineales triangulares superiores.
  
a11 a12 a13 a14 b1
 0 a22 a23 a24 b2
  
 0 0 a33 a34 b3
0 0 0 a44 b4
En este caso en particular se usará una matriz de orden N = 4
b4
x4 =
a44
b3 − a34
x3 =
a33
b2 − a23 − a24
x2 =
a22
b1 − a12 − a13 − a14
x1 =
a11
Generalizando queda
bN
xN =
aN N
bN − 1 − aN − 1N
xN −1 =
aN − 1N − 1
bN − 2 − aN − 2N − 1 − aN − 2N
xN −2 =
aN − 2N − 2
bN − 3 − aN − 3N − 2 − aN − 3N − 1 − aN − 3N
xN −3 =
aN − 3N − 3
De un modo mas general
PN
bk − j=k+1 akjxj
xk =
akk

Métodos Numéricos 13
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo
%MATRIZ TRIANGULAR SUPERIOR
%INGRESO MATRICIAL
A = [8 1 6; 0 4.6250 4.7500; 0 0 -9.7297];
B = [1;-0.3750;0.1892];
% INGRESO DEL ORDEN
[n,y] = size(A);
%CODIGO
x(n) = B(n)/A(n,n);
for i=(n-1):-1:1
x(i)= (B(i) - A(i,i+1:n)*x(i+1:n)’)/A(i,i);

end
A
B

2.6.- Matrı́z Triangular Inferioir


Matriz de orden NxN
A = [aij], donde i < j
En una matriz triangular inferior los elementos situados por encima de la diagonal principal son ceros. Algoritmo
%MATRIZ TRIANGULAR INFERIOR
%INGRESO MATRICIAL
A = [4 -1 2 3;0 -2 7 -4;0 0 6 5; 0 0 0 3];
B = [20; -7 ;4 ;6]; % INGRESO DEL ORDEN
N=4;
%CODIGO
x(N-3) = B(N-3)/A(N-3,N-3);
for i=(N-2):1:N
x(i)= (B(i) - A(i,i-1:1)* x(i-1:-1:1))/(A(i,i));
end

14 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.7.- Método de Muller


Teorı́a
Generalización del Método de la secante y de la posición falsa(regula falsi), ya que no se necesita de la derivada
de la función, es un método que basta conocer tres aproximaciones de la función :

(po, f (po)), (p1, f (p1)), (p2, f (p2))

Fig.1. Metodo de Muller (Imagen tomada del libro ”Métodos Numéricos”de ”Jhon Mathews”)
Usamos las diferencias:
ho=po-p2
h1=p1-p2
Consideramos los puntos iniciales
En t=ho; aho2 + bho + c = f (po)
En t=h1; ah12 + bh1 + c = f (p1)
En t=0; a02 + b0 + c = f (p2)
En donde
c = f(p2)
Sustituyendo
aho2 + bho = f (po) − c = eo

ah12 + bh1 = f (p1) − c = e1

Calculo los valores de a,b,c de la ecuación de una prabóla.


eoh1 − e1ho
a=
h1ho2 − hoh12
e1ho2 − eoh12
b=
h1ho2 − hoh12
La raı́z t = z, se obtiene de
−2c
z= √
b + / − b2 − 4ac
De donde la aproximación p3 será:
p3 = p2+z

Métodos Numéricos 15
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Ejemplo

Dada la función f (x) = e−x − x y las aproximaciones po = 0, p1 = 1, p2 = 0.5, Encontar su respectiva


raı́z con el uso del Metodo aprendido

%METODO DE MULLER

f=@(x)(exp(-x)-x);%Ingreso de la función
po=0;%ingreso de la primera aproximación
p1=1;%ingreso de la segunda aproximación
p2=0.5;%ingreso de la tercera aproximación

c=f(p2);
ho=po-p2;
h1=p1-p2;
eo=f(po)-c;
e1=f(p1)-c;
a=(eo*h1-e1*ho)/(h1*ho^(2)-ho*h1^(2));
b=(e1*ho^(2)-eo*h1^(2))/(h1*ho^(2)-ho*h1^(2));
z=-2*c/(b-sqrt(b^(2)-4*a*c));
raiz = p2+z;
raiz = 0.566100224075228;%RESPUESTA

Algoritmo
f=@(x)();%Ingreso de la función
po;%ingreso de la primera aproximación
p1;%ingreso de la segunda aproximación
p2;%ingreso de la tercera aproximación

c=f(p2);
ho=po-p2;
h1=p1-p2;
eo=f(po)-c;
e1=f(p1)-c;
a=(eo*h1-e1*ho)/(h1*ho^(2)-ho*h1^(2));
b=(e1*ho^(2)-eo*h1^(2))/(h1*ho^(2)-ho*h1^(2));
z=-2*c/(b-sqrt(b^(2)-4*a*c));
raiz = p2+z;
raiz;

16 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.8.- Método de Gauss

El método de Gauss es uno de los más utilizados para resolver sistemas lineales, sin embargo puede llegar a
tener limitaciones cuando las matrices están mal condicionadas, razón por la cual se sugiere siempre verificar el
número de condicionamiento antes de realizar cualquier ejercicio matemático
El metodo consiste en en hacer ceros debajo de la diagoanal y resolver

Algoritmo

function [sol]=gauss(A,B);
C=A;
[m n]=size(A);
C(:,n+1)=B
[m n]=size(C)
for j=1:(n-1)
for i=j+1:m
while C(j,j)==0
X=C(j,:);
[Z,W]=max(abs(C));
C(j,:)=C(W(1),:);
C(W(1),:)=X;
end C(i,:)=C(i,:)-(C(i,j)/C(j,j))*C(j,:);
end
end
TS=C
if(C(m,n-1)==0&&C(m,n~=0))
fprintf(’Sistema Indeterminado’)
end if(C(m,n-1)==0&&C(m,n==0))
fprintf(’Infinitas Soluciones’)
end if(C(m,n-1)~=0)
fprintf(’Unica Solución’)
x(m)=C(m,n)/C(m,n-1);
for i=m-1:-1:1 x(i)=C(i,n);
for j=n-1:-1:i+1
x(i)=x(i)-C(i,j)*x(j);
end
x(i)=x(i)/C(i,j-1);
end
end
sol=x

Métodos Numéricos 17
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.9.- Método de Gauss Jordan


El Método de Gauss – Jordan o también llamado eliminación de Gauss – Jordan, es un método por el cual
pueden resolverse sistemas de ecuaciones lineales con n números de variables, encontrar matrices y matrices
inversas, en este caso desarrollaremos la primera aplicación mencionada. Aplicamos nuestros códigos ya utlizados
mencionados anteriorimente.
Algoritmo
%triangular superior
[m n]=size(A)
suma=0;
for i=1:m
suma=suma+A(i,1);
end
if suma~0;
for j=1:(n-1)
for i=j+1:m
while A(j,j)==0 B=A(j,:);
[C,D]=max(abs(A));
A(j,:)=A(D(1),:);
A(D(1),:)=B;
end
A(i,:)=A(i,:)-(A(i,j)/A(j,j))*A(j,:);
end
end
end TS=A
%triangular inferior [m n]=size(A);
for j=n-1:-1:2
for i=j-1:-1:1
while A(j,j)==0 B=A(j,:);
[C,D]=max(abs(A));
A(j,:)=A(D(1),:);
A(D(1),:)=B;
end A(i,:)=A(i,:)-(A(i,j)/A(j,j))*A(j,:);
end
end TS=A
%solución
[m n]=size(A);
for j=1:n-1
x(j)=A(j,n)/A(j,j);
end
x’
2.10.- Factorización LU
Diremos que una matriz invertible A admite una factorización triangular o factorización LU, si puede expresarse
como el producto de una matriz triangular inferior L, cuyos elementos diagonales son todos iguales a uno, por
una matriz triangular superior U
A = LU
O escrita de manera desarollada:

     
a1,1 a1,2 a1,3 a1,4 1 0 0 0 u1,1 u1,2 u1,3 u1,4
a2,1 a2,2 a2,3 a2,4  m2,1 1 0 0  0 u2,2 u2,3 u2,4 
 =    
a3,1 a3,2 a3,3 a3,4  m3,1 m3,2 1 0  0 0 u3,3 u3,4 
a4,1 a4,2 a4,3 a4,4 m4,1 m4,2 m4,3 1 0 0 0 u4,4

18 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Solución de un sistema lineal


Supongamos que la matriz de los coeficientes A de un sistema lineal AX = B, admite una factorización triangular,
entonces la solución será:
LU X = B
Puede obtenerse definiendo
Y = UX
y resolviendo dos sistemas lineales, primero se halla Y en

LY = B
y luego X en
UX = Y
Matriz de Permutación P
Analizando el siguiente ejemplo:  
1 2 6
A= 4 8 −1
−2 3 5
Realizando ka reducción a triangular superior:
 
1 2 6
0 0 −1 f 2 − 4f 1
0 7 17 f 3 + 2f 1

Como vemos, necesitamos un cambio entre filas para seguir con la reducción. Para este cambio de filas utiliza-
remos la multiplicación de la matriz por una matriz llamada de permutación, la cual es una matriz identidad
cuyas filas varı́an según el caso.
En este caso:  
1 0 0
P = 0 0 1
0 1 0
Ası́   
1 0 0 1 2 6
0 0 1  4 8 −1
0 1 0 −2 3 5
Y logramos un intercambio de filas en la matriz A.
 
1 2 6
−2 3 5
4 8 −1

Algoritmo

En el presente algoritmo se incluye la matriz de Permutación P, es decir PA=LU

%Factorizacion LU con pivote


% PA = LU
A=[1 1 1 1 0 0 0 0 0 0 0 0;0 0 0 0 1 1 1 1 0 0 0 0;
0 0 0 0 0 0 0 0 1 1 1 1;0 0 0 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 27 9 3 1;1 1 1 1 -1 -1 -1 -1 0 0 0 0;
0 0 0 0 8 4 2 1 -8 -4 -2 -1;3 2 1 0 -3 -2 -1 0 0 0 0 0;
0 0 0 0 12 4 1 0 -12 -4 -1 0;6 2 0 0 -6 -2 0 0 0 0 0 0;
0 0 0 0 12 2 0 0 -12 -2 0 0;0 2 0 0 0 0 0 0 0 0 0 0];
B=[1;1;1;1;1.5;1;1;1;1;1;1;1];

%BUSQUEDA DE P,L,U
[m,n]=size(A);
L=eye(n);

Métodos Numéricos 19
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

P=eye(n);
for j=1:n
for i=j+1:m

if A(j,j)~=0
L(i,j)=A(i,j)/A(j,j);
A(i,:)=A(i,:)-L(i,j)*A(j,:);
else k=j-1;
[mx, c]=max(A(j:m,j)); % Busco el maximo entre la columna
A([c+k,j],:)=A([j,c+k],:); % Intercambio filas
P([c+k,j],:)=P([j,c+k],:); % Construyo la matriz de pivotes
L(i,j)=A(i,j)/A(j,j); % Matriz triangular inferior % de coeficientes
A(i,:)=A(i,:)-L(i,j)*A(j,:); % Hago ceros a los elementos de la columna (Gauss)

end
end
end
U=A;
L;
G=P*B;
G;

%ENCUENTRO Y
% LY=PB

H=[L,G];
[n,m]=size(H);
for j=1:m-1
for i=j+1:n
H(i,:)=H(i,:)-(H(i,j)*H(j,:))/H(j,j) ;
end
end
[g,d]= size(H);
L1=H(1:g,1:d-1);
G1=H(1:g,d);

[w,q]=size(L1);
y1(w) = G1(w)/L1(w,w);
for i=(w-1):-1:1
y1(i)= (G1(i) - L1(i,i+1:w)*y1(i+1:w)’)/L1(i,i);

end

Y=(y1)’;

%ENCUENTRO X
%UX=Y

C=[U,Y];
[n,m]=size(C);
for j=1:m-1
for i=j+1:n
C(i,:)=C(i,:)-(C(i,j)*C(j,:))/C(j,j) ;
end
end
[g,d]= size(C);
U1=C(1:g,1:d-1);
Y1=C(1:g,d);

20 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

[w,q]=size(U1);
x(w) = Y1(w)/U1(w,w);
for i=(w-1):-1:1
x(i)= (Y1(i) - U1(i,i+1:w)*x(i+1:w)’)/U1(i,i);

end

X=x’;
X\\\\
Otra aplicación muy conocida que tiene esta factorización LU, es encontrar la inversa, el código queda:
%INVERSA UTLIZANDO FACTORIZACIÓN PA = LU

%INGRESO MATRICIAL
A=[1 2 0;4 2 6;7 8 -9];

%CALCULO DE LA FACTORIZACION PA=LU


B=A;
[m,n]=size(A);
L=eye(n);
P=eye(n);
for j=1:n
for i=j+1:m
if A(j,j)~=0
L(i,j)=A(i,j)/A(j,j);
A(i,:)=A(i,:)-L(i,j)*A(j,:);
else
k=j-1;
[mx c]=max(A(j:m,j)); % Busco el maximo entre la columna
A([c+k,j],:)=A([j,c+k],:); % Intercambio filas
P([c+k,j],:)=P([j,c+k],:); % Construyo la matriz de pivotes
L(i,j)=A(i,j)/A(j,j); % Matriz triangular inferior
% de coeficientes
A(i,:)=A(i,:)-L(i,j)*A(j,:); % Hago ceros a los elementos
% de la columna (Gauss)
end
end
end
U=A;
P*B;
L
U

%CALCULO DE LA INVERSA DE L

if(det(L)==0)
disp(’El determinante es cero, no se puede resolver el sistema’);
else
[m,n] = size(L);
Lc=[L eye(n)]; %Matriz ampliada
for j = 1:(n-1)
if Lc(j,j)==0
Lc=intercambio(Lc,j);
Lc;
end
for i = (j+1):m
Lc(i,:) = Lc(i,:)-((Lc(i,j)*Lc(j,:)/Lc(j,j)));%Reduce a la matriz
Lc; %en una triangular

Métodos Numéricos 21
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

end % inferior
end
for j=n:-1:2
for i=m-1:-1:1
Lc(i,:) = Lc(i,:)-((Lc(i,j)*Lc(j,:)/Lc(j,j)));%Reduce a la matriz
end %en una triangular
m=m-1; %superior
Lc;
end
for k=1:n
Lc(k,1:(2*n))=Lc(k,1:(2*n))/Lc(k,k); %Hago "unos" la diagonal de la matriz
Lc;
end
Sol=Lc(:,(n+1):(2*n)); %Genera la matriz inversa
end

% CALCULO DE LA INVERSA DE U

if(det(U)==0)
disp(’El determinante es cero, no se puede resolver el sistema’);
else
[m,n] = size(U);
Uc=[U eye(n)]; %Matriz ampliada
for j = 1:(n-1)
if Uc(j,j)==0
Uc=intercambio(Uc,j);
Uc;
end
for i = (j+1):m
Uc(i,:) = Uc(i,:)-((Uc(i,j)*Uc(j,:)/Uc(j,j)));%Reduce a la matriz
Uc; %en una triangular
end % inferior
end
for j=n:-1:2
for i=m-1:-1:1
Uc(i,:) = Uc(i,:)-((Uc(i,j)*Uc(j,:)/Uc(j,j)));%Reduce a la matriz
end %en una triangular
m=m-1; %superior
Uc;
end
for k=1:n
Uc(k,1:(2*n))=Uc(k,1:(2*n))/Uc(k,k); %Hago "unos" la diagonal de la matriz
Uc;
end
Sol1=Uc(:,(n+1):(2*n)); %Genera la matriz inversa
end

AInversa=Sol1*Sol %Inversa A’=U’P’

22 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Encontrada la inversa de una matriz, puedo calcular el numero de condicionamiento que tiene esta, como se
vio en la sección 2.3, el codigo queda:
%Ingreso de la matriz
A=[1 2 0;4 2 6;7 8 -9];

if(det(A)==0)
disp(’El determinante es cero, no se puede resolver el sistema’);
else
[m,n] = size(A);
Ac=[A eye(n)]; %Matriz ampliada
for j = 1:(n-1)
if Ac(j,j)==0
Ac=intercambio(Ac,j);
Ac;
end
for i = (j+1):m
Ac(i,:) = Ac(i,:)-((Ac(i,j)*Ac(j,:)/Ac(j,j)));%Reduce a la matriz
Ac; %en una triangular
end % inferior
end
for j=n:-1:2
for i=m-1:-1:1
Ac(i,:) = Ac(i,:)-((Ac(i,j)*Ac(j,:)/Ac(j,j)));%Reduce a la matriz
end %en una triangular
m=m-1; %superior
Ac;
end
for k=1:n
Ac(k,1:(2*n))=Ac(k,1:(2*n))/Ac(k,k); %Hago "unos" la diagonal de la matriz
Ac;
end
Sol=Ac(:,(n+1):(2*n)) %Genera la matriz inversa
end

Numcon=norm(A,1).*norm(Sol,1)

Métodos Numéricos 23
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Ejercicios 1.- Resuelva LY = B, UY = X y compruebe que se verifica B = AX, donde A = LU es :


    
2 4 −6 1 0 0 2 4 −6
1 5 3  = 1/2 1 0 0 3 6
1 3 2 1/2 1/3 1 0 0 3
a) B = [-4 10 5]’

    
1 0 0 y1 −4
1/2 1 0 y2 =  10 
1/2 3 1 y3 5
 
−4
Y =  12 
3
    
2 4 −6 x1 −4
0 3 6  x2 =  12 
0 0 3  x3  3
−3
X= 2 
 1   
2 4 −6 −3 −4
1 5 3   2  =  10 
1 3 2 1 5

b) B = [20 49 32]’
    
1 0 0 y1 20
1/2 1 0 y2 = 49
1/2 3 1 y3 32
 
20
Y = 39
9
    
2 4 −6 x1 20
0 3 6  x2 = 39
0 0 3 x3 9
 
5
X = 7
3
    
2 4 −6 5 20
1 5 3  7 = 49
1 3 2 3 32

3.- Halle la factorización triangular A = LU de las siguientes matrices

 
−5 2 −1
a)  1 0 3 
3 1 6
  
1 0 0 −5 2 −1
0 1 0  1 1 3 
0 0 1 3 0 6

  
1 0 0 −5 2 −1
−0,2 1 0  0 0,4 2,8
−0,6 5,5 1 0 0 10

24 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

 
1 0 3
b)  3 1 6 
−5 2 −1
  
1 0 0 1 0 3
0 1 0  3 1 6 
0 0 1 −5 2 −1

  
1 0 0 1 0 3
3 1 0 0 1 −3
−5 2 1 0 0 20

5.- Resuelva LY = B, UX = Y y compruebe que se verifica B = AX, donde A = LU es

    
4 8 4 0 1 0 0 0 4 8 4 0
1
 5 4 −3 1/4 1
= 0  0
0  3 3 −3
1 4 7 2  1/4 2/3 1 0 0
 0 4 4
1 3 0 −2 1/4 1/3 −1/2 1 0 0 0 1

 
8
−4
a)B =  
 10 
−4


28
13
b)B = 
23

7.- Establezca la fórmula que aparece en (12)

N
X −1 N
X −1
(N − p)(N − p) = (N 2 − 2N p + p2 )
p=1 p=1

N −1
X N2 − N (N − 1)N (2(N − 1) + 1)
(N − p)(N − p) = N 2 (N − 1) − 2N ( + )
p=1
2 6

N −1
X (6N 3 − 6N 2 ) − (6N 3 − 6N 2 ) + (2N 3 − 3N 2 + N )
(N − p)(N − p) =
p=1
6

N −1
X 2N 3 − 3N 2 + N
(N − p)(N − p) =
p=1
6

9.- Demuestre el caso r > c que quedó pendiente en el Teorema 3.10

c
X
drc = mrk akc
k=1
c
X
drc = mrk akc + mrc acc
k=1

drc = (arc − arc ) + arc

Métodos Numéricos 25
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

drc = arc

11.- Pruebe que la inversa de una matriz triangular superior e invertible de orden NxN tambien es triangular
superior

1 (−1)j+1
A−1 = Aji = Mji
|A| |A|

(−1)j+1
A−1 = Mji
|A|

(−1)j+1
A−1 = (0)
|A|

A−1 = 0

2.11.- Factorización SVD


La descomposición en valores singulares SVD, la cual es útil ya que toda matriz simétrica A puede ser factorizada
como A = P DP T , donde P es una matriz ortogonal y D es una matriz diagonal que contiene los valores propios
de A. Sin embargo, si A no es simétrica, una factorización de este tipo no es posible, pero todavı́a es posible
factorizar una matriz cuadrada A como A = P DP −1 , donde D adquiere una forma lo más simple posible y P
es una matriz invertible. Con esto se puede demostrar que todas las matrices admiten una factorización de la
forma
A = U SV T
Valores singulares de una matriz Para cualquier matriz Amxn , la matriz (AT A)nxn es simétrica y por lo
tanto puede ser diagonalizada ortogonalmente. Los valores propios de (AT A)nxn son todos reales y no negativos,
es decir, mayores o iguales a 0.
Definición (Valores singulares) Para una matriz Amxn , los valores singulares de A son las raı́ces cuadra-
dadas de los valores propios de (AT A)nxn y se denotan mediante σ1 , σ2 , ..., σn . Es decir, si λi es un valor propio
de (AT A)nxn entonces
p
σi = λ i
Descomposición en valores singulares Sea (Amxn ) con valores singulares σ1 ≥ σ2 ≥ ... ≥ σr 6= 0 y
σr+1 = σr+2 = ... = σn = 0. Consideremos, sin pérdida de generalidad, el caso m > n. Entonces, existe una
matriz Umxm ortogonal, una matriz Vnxn ortogonal y una matriz Smxn tal que

A = U SV T

donde
 
Drxr Orx(n−r)
S=
O(m−r)xr O(m−r)x(n−r)
 
σ1 ... 0
Drxr = : ... : 
0 ... σr
 
O11 ... 01
Opxq = : ... : 
Op1 ... Opq
Ejemplo
Encontrar la descomposición en valores singulares (SVD) de la siguiente matriz.
 
1 1 0
A=
0 0 1
1.- Calculemos los valores singulares. Por la definción 1 para encontrar los valores singulares
de la matriz A, debemos determinar los autovalores de la la matriz AT A

26 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

 
1 1 0
T
1 1 0
A A=
0

0 0
0 0 1
Los valores obtenidos son
λ1 = 0, λ2 = 1, λ3 = 2
Y sus vectores autocorrespondientes son:
   
1 0 1
0 0 −1
0 1 0
2.- Determinemos la matriz V. Las columnas de la matriz V son los autovectores normalizados
de los autovalores de la matriz AT A
 1 −1 
√ 0 √
 2 2 
V =  √1 1 

0 √ 
2 2
 
0 1 0
3.- Determinemos la matriz U. Sea vi la columna i de la matriz V y σi el valor singular
correspondiente. La columna ui de la matriz U es
1
ui = Avi
σi
 
1 0
0 1
4.- La factorización de la matriz A será

 √ 
    √  1/ 2 1/ 2 1
1 1 0 1 0 2 0 0 
A= = 0√ 0√ 0
0 0 1 0 1 0 1 0
−1/ 2 1/ 2 1

2.12.- Sistemas Mal Condicionados

Una matriz A está mal condicionada si pequeños cambios en sus elementos pueden producir cambios grandes
en las soluciones del sistema lineal Ax = b. Si pequeños cambios de los elementos de A producen únicamente
cambios pequeños en las soluciones de Ax = b, entonces se dice que A está bien condicionada.

Métodos Numéricos 27
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.13.- Aplicaciones
La descomposición en valores singulares de una matriz es una herramienta útil en muchas aplicaciones, co-
mo por ejemplo: resolución de sistemas de ecuaciones mal condicionados, aproximación por mı́nimos cuadrados
y compresión de imágenes digitales, ahora se describirá los pasos para comprimir una imagen digital a escala
de grises.

Algoritmo

Se elige la siguiente imagen:

Se realiza la rutina o Código de Matlab que se muestra a continuación:

%Practica DVS
%Compresion de Imagenes en blanco y negro o escala de grises
%-------------------
clear all %borra todas las variables
%------------------------
%Pantalla para presentar la imagen
figure(1)
%------------------------
%Leemos la imagen guardada con el nombre ’playa.jpg’ y la asignamos a la variable A0
A0=imread(’TIGRE.jpg’,’jpg’);
%-------------------------
%Visualizamos la imagen
imagesc(A0); colormap(gray);
%-------------------------
%Convertimos la imagen a formato numerico
A0=double(A0);
%-------------------------
%Calculamos el tamano de la matriz ma0=filas y na0=columnas
[ma0,na0]=size(A0);
%-------------------------
%Descomposicion en valores singulares de la matriz A0
[U0, S0, V0]=svd(A0);
%-------------------------
%Calculamos el tamano de la matrices U0, S0 y V0
[mu0, nu0]=size(U0); [ms0, ns0]=size(S0); [mv0, nv0]=size(V0);
%--------------------------
%Compresion
%--------------------------
%Pantalla para presentar la nueva imagen
figure(2)
%--------------------------
%bucle

28 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

for k=1:6 %k es el numero de imagenes a presentar


%r0 es el numero de valores singulares de A0
r0=2^k;
%factorizacion de la matriz A0, A0=USV’
imaA0=U0(:,1:r0)*S0(1:r0,1:r0)*V0(:,1:r0)’;
%tamano de la matriz (imagen) comprimida
comp=(mu0+nv0+1)*r0;
%tamano de la matriz (imagen) original
total=ma0*na0;
%muestra en la pantalla los valores de k, r0, total y comp
disp([ k r0 total comp])
%transformo la matriz de formato doble a uint8
imaA0=uint8(imaA0);
%ventana para la nueva imagen
subplot(2,3,k);
%instrucciones para visualizar la imagen
imagesc(imaA0); colormap(gray);
end
%fin del bucle
%fin del codigo

Métodos Numéricos 29
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

El resultado que se obtiene es:

¿Con cuál de la imágenes comprimidas te quedarı́as? ¿Por qué?

Me quedaria con la tercera imagen, porque tiene mejor definición

¿Cuántos valores singulares utiliza cada imagen comprimida?

La imágen del tigre tiene 400x268 pixeles, es decir:

20 + 20(400) + 20(268) = 13380

2.12.- Método QR

Teorı́a

La factorización QR se utiliza para descomponer una matriz (que puede representar un sistema de ecuacio-
nes a resolver) en dos matrices, con las cuales es más fácil de operar y hallar soluciones al sistema de ecuaciones.

Proceso de Gram Schmidt


A parir de los vectores linealmene independientes v1 , ...., vn se construyen

u1 = v1
k−1
X vk .uj
uk = vk − , j = 2, ..k
j=1
kuj k2

Los vectores u1 , ..., un son ortogonales

30 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo

A = magic(5);
[m, n] = size(A);
R = zeros(n, n);
V = A;
Q=zeros(m, n);

for i =1:n
R(i,i)= norm(V(:,i));
Q(:,i)= V(:,i)/R(i,i);

for j=i+1:n
R(i,j)= (Q(:,i)’)*V(:,j);
V(:,j)=V(:,j) - R(i,j)*Q(:,i);
end

2.12.- Matriz Tridiagonal


Se denomina matriz tridiagonal a una matriz cuyos elementos son solo distintos de cero en la diagonal principal
y las diagonales adyacentes por encima y por debajo a esta.
Un ejemplo serı́a:  
1 4 0 0
3 6 4 0
 
0 7 3 4
0 0 6 2
El algoritmo que resuelve este tipo de Matrices se lo denomina ”AlgoritmodeT homas”

Algoritmo

a=[0;1;4];
b=[3;5;7];
c=[-2;-0.2;0];
d=[1;5.8;11];

N = length(d);

c(1) = c(1) / b(1); % Division by zero risk.


d(1) = d(1) / b(1);

for n = 2:1:N
temp = b(n) - a(n) * c(n - 1);
c(n) = c(n) / temp;
d(n) = (d(n) - a(n) * d(n - 1)) / temp;
end

x(N) = d(N);
for n = (N - 1):-1:1
x(n) = d(n) - c(n) * x(n + 1);
end
end

Métodos Numéricos 31
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

3.- INTERPOLACIÓN

Para encontrar las fuciones que pasen por los n+1 puntos estudiaremos, los etodo de Lagrange, Newton, Splines

3.1.- Interpolación de Lagrange

Empezamos con un conjunto de n+1 puntos en el plano (que tengan diferentes coordenadas x):
(x0 , y0 ), (x1 , y1 ), (x2 , y2 ), . . . ., (xn , yn ). Nuestro objetivo es encontrar una función polinómica que pase por esos
n+1 puntos y que tengan el menor grado posible. Un polinomio que pase por varios puntos determinados se
llama un polinomio de interpolación. Vamos a ver una forma de la solución que es el llamado polinomio de
interpolación de Lagrange. (Lagrange publicó su fórmula en 1795 pero ya habı́a sido publicada en 1779 por
Waring y redescubierta por Euler en 1783).

Formulación
f (x) = PN (x) + EN (x)
N
X
PN (x) = f (xk )LN,k (x)
k=0
QN
j=0,j6=k (x − xj )
LN,k (x) = QN
j=0,j6=k (xk − xj )
Ejercicios
1.- Determinar en los siguientes casos, el polinomio interpolador de Lagrange para aproximar la función
f (x) = x3
a) El polinomio cuadrático P 2(x) para los nodos x0 = −1, x1 = 0, x2 = 1
2
X
P2 (x) = f (xk )L2,k (x)
k=0

P2 (x) = f (x0 )L2,0 (x) + f (x1 )L2,1 (x) + f (x2 )L2,2 (x)
P2 (x) = (−1)L2,0 (x) + (0)L2,1 (x) + (1)L2,2 (x)
(x − x1 )(x − x2 ) (x − x0 )(x − x1 )
P2 (x) = −1[ ] + 1[ ]
(x0 − x1 )(x0 − x2 ) (x2 − x0 )(x2 − x1 )
(x − 0)(x − 1) (x + 1)(x − 0)
P2 (x) = −1[ ] + 1[ ]
(−1 − 0)(−1 − 1) (1 + 1)(1 − 0)

P2 (x) = x
b) El polinomio cuúbico P 3(x) para los nodos x0 = −1, x1 = 0, x2 = 1, x3 = 2
3
X
P3 (x) = f (xk )L3,k (x)
k=0

P3 (x) = f (x0 )L3,0 (x) + f (x1 )L3,1 (x) + f (x2 )L3,2 (x) + f (x3 )L3,3 (x)
P3 (x) = (−1)L3,0 (x) + (0)L3,1 (x) + (1)L3,2 (x) + (8)L3,3 (x)
(x − x1 )(x − x2 )(x − x3 ) (x − x0 )(x − x1 )(x − x3 ) (x − x0 )(x − x1 )(x − x2 )
P3 (x) = −1[ ] + 1[ + 8[ ]
(x0 − x1 )(x0 − x2 )(x0 − x3 ) (x2 − x0 )(x2 − x1 )(x2 − x3 ) (x3 − x0 )(x3 − x1 )(x3 − x2 )
(x − 0)(x − 1)(x − 2) (x + 1)(x − 0)(x − 2) (x + 1)(x − 0)(x − 1)
P3 (x) = −1[ ] + 1[ + 8[ ]
(−1 − 0)(−1 − 1)(−1 − 2) (1 + 1)(1 − 0)(1 − 2) (2 + 1)(2 − 0)(2 − 1)

P3 (x) = x3

32 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.- En el siguiente cuadro se muestran temperaturas que fueron medidas cada hora, durante un lapso total
de 5 horas
H T
13 18
14 18
15 17
16 16
17 15
18 14
a) Construir el polinimio interpolador de Lagrange correspondiente a los datos del cuadro
5
X
P5 (x) = f (xk )L5,k (x)
k=0

P5 (x) = f (x0 )L5,0 (x) + f (x1 )L5,1 (x) + f (x2 )L5,2 (x) + f (x3 )L5,3 (x) + f (x4 )L5,4 (x) + f (x5 )L5,5 (x)

P5 (x) = (18)L5,0 (x) + (18)L5,1 (x) + (17)L5,2 (x) + (16)L5,3 (x) + (15)L5,4 (x) + (14)L5,5 (x)

(x − x1 )(x − x2 )(x − x3 )(x − x4 )(x − x5 )


L5,0 =
(x0 − x1 )(x0 − x2 )(x0 − x3 )(x0 − x4 )(x0 − x5 )
(x − x0 )(x − x2 )(x − x3 )(x − x4 )(x − x5 )
L5,1 =
(x1 − x0 )(x1 − x2 )(x1 − x3 )(x1 − x4 )(x1 − x5 )
(x − x0 )(x − x1 )(x − x3 )(x − x4 )(x − x5 )
L5,2 =
(x2 − x0 )(x2 − x1 )(x2 − x3 )(x2 − x4 )(x2 − x5 )
(x − x0 )(x − x1 )(x − x2 )(x − x4 )(x − x5 )
L5,3 =
(x3 − x0 )(x3 − x1 )(x3 − x2 )(x3 − x4 )(x4 − x5 )
(x − x0 )(x − x1 )(x − x2 )(x − x3 )(x − x5 )
L5,4 =
(x4 − x0 )(x4 − x1 )(x4 − x2 )(x4 − x3 )(x4 − x5 )
(x − x0 )(x − x1 )(x − x2 )(x − x3 )(x − x4 )
L5,5 =
(x5 − x0 )(x5 − x1 )(x5 − x2 )(x5 − x3 )(x5 − x4 )

x5 2x4 511x3 1018x2 26977x


P5 (x) = − + − + − 8536
120 3 24 3 10
Algoritmo

function [C,L]= lagrange(x,y)


w = length(x); n = w-1; L = zeros(w,w);
for k=1:n+1
V = 1;
for j = 1:n+1 if k ~= j V = conv(V,poly(x(j)))/(x(k)-x(j)); end end
L(k,:) = V;
end
C = y;
C = C .* L

Métodos Numéricos 33
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

3.2.- Interpolación de Newton

Hay ocasiones en las que resulta útil construir varios polinomios aproximantes P1 (x), P2 (x), ..., PN (x) y,
después, elegir el más adecuado a nuestras necesidades. Si usamos los polinomios de interpolación de Lagrange,
uno de los inconvenientes es que no se pueden utilizar los cálculos realizados en la construcción de PN −1 (x)
para la de PN (x); cada polinomio debe construirse individualmente y para calcular polinomios de grado elevado
es necesario hacer muchas operaciones. Vamos a seguir ahora un camino de construcción distinto, en el cual los
polinomios de interpolación, que se llamarán de Newton, se calculan mediante un esquema recursivo

Formulación
f (x) = PN (x) + EN (x)

PN (x) = a0 + a1 (x − x0 ) + .... + aN (x − x0 )(x − x1 )(x − x2 )...(x − xN −1 )

(x − x0 )(x − x1 )...(x − xN )f N +1 (c)


EN (x) =
(N + 1)!
Ejercicios

1.- En base a las funciones y datos que se muestran en el cuadro, realizar

a) Calcular la tabla de diferencias divididas para las funciones y datos



f (x) = x

x = 4, 5

x = 7, 5

k xk f(xk)
0 4 2
1 5 2.23
2 6 2.44
3 7 2.64
4 8 2.82

La tabla de ”Diferencias Divididas”para la Primera Tabla quedara

k xk f[xk] f[xk-1, xk] f[xk-2, xk-1, xk] f[xk-3, xk-2, xk-1, xk] f[xk-4, xk-3, xk-2, xk-1, xk]
0 4 2 • • • •
1 5 2.23 0.23 • • •
2 6 2.44 0.21 -0.01 • •
3 7 2.64 0.2 -0.005 1/600 •
4 8 2.82 0.18 -0.01 -1/600 -1/1200

πx 2
f (x) = 3(sin( ))
6

x = 1, 5

x = 3, 5

k xk f(xk)
0 0 0
1 1 0.75
2 2 2.25
3 3 3.00
4 4 2.25

34 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

La tabla de ”Diferencias Divididas”para la Segunda Tabla quedara

k xk f[xk] f[xk-1, xk] f[xk-2, xk-1, xk] f[xk-3, xk-2, xk-1, xk] f[xk-4, xk-3, xk-2, xk-1, xk]
0 0 0 • • • •
1 1 0.75 0.75 • • •
2 2 2.25 1.5 0.375 • •
3 3 3.00 0.75 -0.375 -0.25 •
4 4 2.25 -0.75 -0.75 -0.125 1/32
b) Escribir los polinomios interpoladores de Newton P1 , P2 , P3 , P4

P1 = a0 + a1 (x − x0 )
P2 = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 )
P3 = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + a3 (x − x0 )(x − x1 )(x − x2 )
P4 = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + a3 (x − x0 )(x − x1 )(x − x2 ) + a4 (x − x0 )(x − x1 )(x − x2 )(x − x3 )
Para la Primera Tabla
23
P1 = 2 + (x − 4)
100
23 1
P2 = 2 + (x − 4) − (x − 4)(x − 5)
100 100
23 1 1
P3 = 2 + (x − 4) − (x − 4)(x − 5) + (x − 4)(x − 5)(x − 6)
100 100 600
23 1 1 1
P4 = 2 + (x − 4) − (x − 4)(x − 5) + (x − 4)(x − 5)(x − 6) − (x − 4)(x − 5)(x − 6)(x − 7)
100 100 600 1200
Para la Segunda Tabla
75
P1 = 0 + (x − 0)
100
75 375
P2 = 0 + (x − 0) + (x − 0)(x − 1)
100 1000
75 375 25
P3 = 0 + (x − 0) + (x − 0)(x − 1) − (x − 0)(x − 1)(x − 2)
100 1000 100
75 375 25 1
P4 = 0 + (x − 0) + (x − 0)(x − 1) − (x − 0)(x − 1)(x − 2) − (x − 0)(x − 1)(x − 2)(x − 3)
100 1000 100 32
c) Calcular los valores de los polinomios hallados, en el apartado anterior, para los valores de x dados Para
la Primera Tabla
23x 27
P1 = + =
100 25
x2 8x 22
P2 = − + +
100 25 25
x3 7x2 16x 33
P3 = − + −
600 200 75 25
x4 x3 221x2 149x 101
P4 = − + − + −
1200 50 1200 200 50

Para la Segunda Tabla


3x
P1 =
4
3x2 3x
P2 = +
8 8
3 2
x 9x x
P3 = − + −
4 8 8
4 3 2
313x 7x 918x 5x
P4 = − + − = 1,51794
10000 16 625 16

Métodos Numéricos 35
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo

function [C,D]= newtonpoly(x,y)


% Entrada: x y y vectores
% Salida: C coeficientes del polinomio de Newton,
% D tabla de diferencias divididas
n = length(x);
D = zeros(n,n);
D(:,1) = Y’;
for j=2:n
for k=j:n
D(k,j) = (D(k,j-1)-D(k-1,j-1))/(x(k)-x(k-j+1));
end
end
C = D(n,n);
for k=n-1:-1:1
C = conv(C,poly(x(k)));
m = length(C);
C(m) = C(m) + D(k,k);
end

3.3.- Interpolación de Splines

La idea central es que en vez de usar un solo polinomio para interpolar los datos, podemos usar segmentos
de polinomios y unirlos adecuadamente para formar nuestra interpolación. Podemos decir, que una función
spline está formada por varios polinomios, cada uno definido en un intervalo y que se unen entre si bajo cier-
tas condiciones de continuidad. Cabe mencionar que entre todas, las splines cúbicas han resultado ser las más
adecuadas.A menudo es más conveniente dividir el intervalo de interés en subintervalos más pequeños y usar en
cada subintervalo polinomios de grado relativamente bajo, tratando de que la función a trozos definida de este
modo tenga un aspecto final adecuado al fenómeno que estamos representando.

Formulación
S(ai ) = S(ai ), ∀i = 1, 2, ..., n − 1
S(a0i ) = S(a0i ), ∀i = 1, 2, ..., n − 1
S(am−1
i ) = S(am−1
i ), ∀i = 1, 2, ..., n − 1

36 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Ejercicios

1.- Se considera la función polinomial trozos

x3

xε[0, 1]
f (x) = 3
0, 5(x − 1) +a(x − 1)2 +b(x − 1) +c xε[1, 3]

S0 = x3
S00 = 3x2
S000 = 6x
S1 = 0, 5(x − 1)3 + a(x − 1)2 + b(x − 1) + c
S10 = 1, 5(x − 1)2 + 2a(x − 1) + b
S100 = 3(x − 1) + 2a
Si analizamos la primera y segunda derivada en el punto x=1, lugar en el cual ambas funciones son iguales, es
decir:
S0 (1) = S1 (1)
c=1
S0 (1)0 = S1 (1)0
b=3
S0 (1) = S1 (1)00
00

a=3

1
S1 = (x − 1)3 + 3(x − 1)2 + 3(x − 1) + 1
2

Métodos Numéricos 37
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

2.- Dados los puntos (0,0),(1,0.5),(2,2),(3,1.5), realizar la interpolación de grado 3,implementando el algoritmo
correspondiente a una Spline grado 3, dibuje

x=[0 1 2 3];
y=[0 0.5 2 1.5];
dx0=0.2;
dxn=-1;

N=length(x)-1;
H=diff(x);
D=diff(y)./H;
A=H(2:N-1);
B=2*(H(1:N-1)+H(2:N));
C=H(2:N);
U=6*diff(D);
%Restricciones para los extremos
B(1)=B(1)-H(1)/2;
U(1)=U(1)-3*(D(1)-dx0);
B(N-1)=B(N-1)-H(N)/2;
U(N-1)=U(N-1)-3*(dxn-D(N));
for k=2:N-1
temp=A(k-1)/B(k-1);
B(k)=B(k)-temp*C(k-1);
U(k)=U(k)-temp*U(k-1);
end

M(N)=U(N-1)/B(N-1);
for k=N-2:-1:1
M(k+1)=(U(k)-C(k)*M(k+2))/B(k);
end
M(1)=3*(D(1)-dx0)/H(1)-M(2)/2;
M(N+1)=3*(dxn-D(N))/H(N)-M(N)/2;

for k=0:N-1

S(k+1,1)= (M(k+2)-M(k+1))/(6*H(k+1))
S(k+1,2)= M(k+1)/2
S(k+1,3)= D(k+1)-H(k+1)*(2*M(k+1)+M(k+2))/6
S(k+1,4)= y(k+1)
end

Los coeficientes resultantes serán:

38 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

 
0, 4800 −0,1800 0,2000 0
−1,0400. 1,2600 1,2800 0,5000
0,6800 −1,8600 0,6800 2,0000

4.- DERIVACIÓN E INTEGRACIÓN NUMÉRICA

4.1.- DERIVACIÓN NUMÉRICA


Se considera una función f (x) de la cual se conoce un conjunto discreto de valores (x0 , f0 ), (x1 , f1 , ..., (xn , fn )).
El problema que se va a abordar es el calcular la derivada de la función en un punto x que, en principio, no
tiene porqué coincidir con alguno de los que figuran en los datos de que se dispone.
La definición de la derivada de una función f (x), se establece que:

f (x + h) − f (x)
f 0 (x) = lı́m
h→0 h
Basados en la definición, podemos deducir que necesitamos encontrar un ”h”lo suficientemente pequeño que
permita utilizar la definición. Utilizando esta idea, podemos construir una sucesión hk tal que:

f (x + h1 ) − f (x)
h1 ⇒
h1
f (x + h2 ) − f (x)
h2 ⇒
h2
f (x + h3 ) − f (x)
h3 ⇒
h3
..
.
f (x + hn ) − f (x)
hn ⇒
hn
f (x + hk − f (x))
hk
es una buena aproximación a la derivada de f(x).

Fórmulas en Diferencias Divididas


Para el cálculo mediante la diferenciación numérica se puede estimar mediante el polinomio de Taylor, que son
formulas de diferencias finitas, estas pueden ser centradas, progresivas, regresivas.
Centradas Orden O(h2 )
f1 − f−1
f 0 (x) =
2h
f1 − 20 + f−1
f 00 (x) =
h2
f2 − f1 + 2f−1 − f−2
f (3) (x) =
2h3
f2 − 4f1 + 6f0 − 4f−1 − f−2
f (4) (x) =
h4
Adelantadas
f1 − f0
f 0 (x) = + O(h)
h
−f2 + 4f1 − 3f0
f 0 (x) = + O(h2 )
h
−3f4 + 16f3 − 36f2 + 48f1 − 25f0
f 0 (x) = + O(h4 )
12h
f2 − 2f1 + f0
f 00 (x) = + O(h)
h2
−f3 + 4f2 − 5f1 + 2f0
f 00 (x) = + O(h)
h2

Métodos Numéricos 39
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Retrasadas
3f0 − 4f−1 + f−2
f 0 (x) = + O(h2 )
2h

Ejercicios

Deducir las fórmulas centradas y adelantadas para la derivada tercera

a.- Fórmula de Diferencia Centrada

h2 f 2 (x) h3 f 3 (x) h4 f 4 (x) h5 f 5 (x)


f (x + h) = f (x) + hf 0 (x) + + + + + ..
2! 3! 4! 5!
h2 f 2 (x) h3 f 3 (x) h4 f 4 (x) h5 f 5 (x)
f (x − h) = f (x) − hf 0 (x) + − + − + ..
2! 3! 4! 5!
4h2 f 2 (x) 8h3 f 3 (x) 16h4 f 4 (x) 32h5 f 5 (x)
f (x + 2h) = f (x) + 2hf 0 (x) + + + + + ..
2! 3! 4! 5!
4h2 f 2 (x) 8h3 f 3 (x) 16h4 f 4 (x) 32h5 f 5 (x)
f (x − 2h) = f (x) − 2hf 0 (x) + − + − + ..
2! 3! 4! 5!
Resto la primera y segunda ecuación, simultaneamente la tercera con la cuarta

2h3 f 3 (x) 2h5 f 5 (x)


f (x + h) − f (x − h) = 2hf 0 (x) + + + ..
3! 5!
16h3 f 3 (x) 64h5 f 5 (x)
f (x + 2h) − f (x − 2h) = 4hf 0 (x) + + + ..
3! 5!
Elimino el término f 0 (x)

4h3 f 3 (x) 4h5 f 5 (x)


−2f (x + h) + 2f (x − h) = −4hf 0 (x) − − + ..
3! 5!
16h3 f 3 (x) 64h5 f 5 (x)
f (x + 2h) − f (x − 2h) = 4hf 0 (x) + + + ..
3! 5!
La suma quedarı́a la Fórmula de Diferencia Centrada de orden O(h2 )

f (x + 2h) − 2f (x + h) + 2f (x − h) − f (x − 2h) h2 M
f 3 (x) = −
2h3 4

b.- Fórmula de Diferencia Adelantada


h2 f 2 (x) h3 f 3 (x) h4 f 4 (x) h5 f 5 (x)
f (x + h) = f (x) + hf 0 (x) + + + + + ..
2! 3! 4! 5!
4h2 f 2 (x) 8h3 f 3 (x) 16h4 f 4 (x) 32h5 f 5 (x)
f (x + 2h) = f (x) + 2hf 0 (x) + + + + + ..
2! 3! 4! 5!
9h2 f 2 (x) 27h3 f 3 (x) 81h4 f 4 (x) 243h5 f 5 (x)
f (x + 3h) = f (x) + 3hf 0 (x) + + + + + ..
2! 3! 4! 5!
16h2 f 2 (x) 64h3 f 3 (x) 256h4 f 4 (x) 1024h5 f 5 (x)
f (x + 4h) = f (x) + 4hf 0 (x) + + + + + ..
2! 3! 4! 5!
Se multiplica por 18, -24, 14, -3 a las ecuaciones 1,2,3,4 respectivamente

−5f (x) + 18f (x + h) − 24f (x + 2h) + 14f (f + 3h) − 3f (x + 4h) 7h2 M


f ( 3) = +
2h3 2

Algoritmo

40 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

function df = dc(f,x)

M = length(x); df=zeros(1,M);
h=x(2)-x(1); ih=1/(2*h);
df(1)=(-f(3)+4*f(2)-3*f(1))*ih;
for i=2:M-1
df(i)=(f(i+1)-f(i-1))*ih;
end
df(M)=(f(M-2)-4*f(M-1)+3*f(M))*ih;

4.2.- INTEGRACIÓN NUMÉRICA


La integral de la función f(x), definida en el intervalo [a,b], notada como
Z b
f (x)dx
a

es igual al área definida por la función f(x) y el eje x, entre los puntos a y b. Nuestro objetivo es aproximar
dicha integral, evaluando f(x) en un número finito de puntos. Empezaremos por dar un definición lo más general
posible de la integración numérica
M
X
Q[f ] = wk f (xk ) + w0 f (x0 ) + w1 f (x1 ) + .... + wM f (xM )
k=0

La integral de f(x) entre el intervalo [a,b] es igual a:


Z b
f (x)dx = Q[f ] + E[f ]
a

donde E[f] es el error de truncamiento, que se obtiene al aproximar la integral a través de un número finito, M,
de puntos.

Fórmulas del Tipo Interpolatorio

Las fórmulas de integración numérica basadas en la interpolación polinomial, consisten en aproximar la in-
tegral de lafunción f(x) en el intervalo [a,b], por la integral en [a,b] de su polinomio interpolador, Pn (x)

f (x) = PN (x) + EN (x)


N
X
PN (x) = f (xk )LN,k (x)
k=0
QN
j=0,j6=k (x − xj )
LN,k (x) = QN
j=0,j6=k (xk − xj )

Métodos Numéricos 41
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

4.2.1- Fórmula del Rectagulo


Corresponde a la sustitución de f(x) por su polinomio interpolador en el punto a. En efecto, si x0 = a, L0(x)
=1 Z b
w0 = L0 (x)dx = b − a
a
Z b
f (x)dx = w0 f (x0 ) = (b − a)f (a)
a
Algoritmo

%Ingreso de extremos
a=0;
b=1;
h=(b-a);
%ingreso de la Función
f=@(x) sin(pi*x);
A = h*f(a)

4.2.2- Fórmula del Punto Medio

Corresponde a la sustitución de f(x) por su polinomio interpolador en el punto (a + b)/2. En efecto, si x0


= (a + b)/2, L0(x) = 1 y
Z b
w0 = L0 (x)dx = b − a
a
Z b
a+b
f (x)dx = w0 f (x0 ) = (b − a)f ( )
a 2
Algoritmo
%Ingreso de extremos
a=0;
b=1;
h=(b-a);
%ingreso de la Función
f=@(x) sin(pi*x);
A = h*f((a+b)/2)

4.2.2- Fórmula del Trapecio


Corresponde a la sustitución de f(x) por su polinomio interpolador en los puntos a y b. En efecto, si x0 =
a, x1 = b,
Z b
(b − a)
f (x)dx = w0 f (x0 ) + w1 f (x1 ) = (f (a) + f (b))
a 2
Algoritmo

%Ingreso de extremos
a=0;
b=1;
%ingreso de la Función
f=@(x) x^2;
A = ((b-a)/2)*(f(a)+f(b))

42 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

4.2.3- Fórmula del Simpson Simple


b
b−a
Z
a+b
f (x)dx = ( )(f (a) + 4f ( )) + f (b)
a 6 2
Algoritmo
%Ingreso de extremos
a=0;
b=1;
%ingreso de la Función
f=@(x) sin(pi*x);
A = ((b-a)/6)*(f(a)+4*f((a+b)/2)+f(b))
4.2.4- Fórmula del Simpson 3/8
Z b
3h
f (x)dx = (f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 ))
a 8
b−a
h=
3
Algoritmo
%Ingreso de extremos
a=0;
b=1;
%Ingreso de # Puntos o Evaluaciones
npuntos=10;
nintervalos=npuntos-1;
Msubintervalos=nintervalos/3;
%Paso
h=(b-a)/nintervalos;
%ingreso de la Función
f=@(x) sin(pi*x);
g=0;
r=0;
c=0;

4.2.5- Fórmula de Boole


Z b
2h
f (x)dx = (7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 ))
a 45
b−a
h=
5
Algoritmo
%Ingreso de extremos
a=0;
b=1;
h=(b-a)/4;
%ingreso de la Función
f=@(x) sin(pi*x);

A =(2*h/45)*(7*f(a) + 32*f(a + h) + 12*f(a + 2*h) + 32*f(a + 3*h) +7*f(b))

Métodos Numéricos 43
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

4.2.6.- Fórmula de Trapecio Compuesta


Z b m−1
h X
f (x)dx = (f (a) + 2 f (xi) + f (b))
a 2 i=0

Algoritmo
%Ingreso de extremos
a=0;
b=1;
%Ingreso de # Puntos o Evaluaciones
npuntos=5;
nintervalos=npuntos-1;
%Paso
h=(b-a)/nintervalos;
%ingreso de la Función
f=@(x) sin(sqrt(x));
g=0;
for k=1:nintervalos
g = g + f(a+h*k);

end
A = (h/2)*(f(a) + 2*g + f(b))
4.2.7.- Fórmula de Simpson Simple Compuesta
Z b m m−1
h X X
f (x)dx = (f (a) + 4 f (x2i − 1) + 2 f (x2i) + f (b))
a 3 i=1 i=1

Algoritmo
%Ingreso de extremos
a=0;
b=1;
%Ingreso de # Puntos o Evaluaciones
npuntos=5;
nintervalos=npuntos-1;
Msubintervalos=nintervalos/2;
%Paso
h=(b-a)/nintervalos;
%ingreso de la Función
f=@(x) sin(pi*x);
g=0;
r=0;

for k=1:Msubintervalos
g = g + f(a + h*(2*k-1));
end

for k=1:Msubintervalos-1
r = r + f(a + h*2*k);
end

A=(h/3)*(f(a) + f(b) + 4*g + 2*r)

44 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

4.2.8.- Fórmula de Simpson 3/8 Compuesta


Z b m m−1 m
3h X X X
f (x)dx = (f (a) + f (b) + +3 f (xk ) + 2 f (x3k )) + 3 f (3xk−1 )
a 8
k=0 k=0 k=0

Algoritmo

%Ingreso de extremos
a=0;
b=1;
%Ingreso de # Puntos o Evaluaciones
npuntos=10;
nintervalos=npuntos-1;
Msubintervalos=nintervalos/3;
%Paso
h=(b-a)/nintervalos;
%ingreso de la Función
f=@(x) sin(pi*x);
g=0;
r=0;
c=0;

for k=1:Msubintervalos
g = g + f(a + h*(3*k-2));
end

for k=1:Msubintervalos-1
r = r + f(a + 3*h*k);
end

for k=1:Msubintervalos
c = c + f(a + h*(3*k-1));
end

A = (3*h/8)*(f(a) + f(b) + 3*g + 2*r + 3*c)

Métodos Numéricos 45
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

5.- ECUACIONES DIRENCIALES ORDINARIAS


En matemáticas, una ecuación diferencial ordinaria, es la ecuación diferencial que relaciona una función desco-
nocida de una variable independiente con sus derivadas. Es decir, una sola variable independiente (a diferencia
de las ecuaciones diferenciales parciales que involucran derivadas parciales de varias variables), y una o más de
sus derivadas respecto de tal variable
Recursos de la fı́sica, la ingenierı́a, la economı́a, la meteorologı́a y en aplicaciones como las de modelado en
ciencias, se las estudia en diversas áreas (como geometrı́a, mecánica y astronomı́a) y perspectivas.
Matemáticamente es de crucial interés el conjunto de funciones que verifican la ecuación y establecen sus so-
luciones. Sólo las ecuaciones diferenciales más sencillas admiten soluciones dadas por fórmulas explı́citas (como
las lineales asociadas a una teorı́a desarrollada prácticamente por completo). No obstante, pueden determinarse
algunas propiedades de las soluciones de una ecuación diferencial sin requerirse su formulación exacta, clave
para resolver la mayorı́a de las ecuaciones diferenciales no lineales de sumo interés en numeroso casos. Casos
carentes de una fórmula auto-contenida para su solución que se suple con la aproximada numéricamente con el
auxilio crucial de las computadoras.

5.1.- Método de Euler - Predictor

Hemos visto las condiciones que debe cumplir el problema de una ecuación diferencial con valores iniciales
para tener solución única. Veamos ahora del primer método para resolver dicho problema. Partamos de la
formulación del problema
dy
= f (t, y)
dt
Si desarrollamos por Taylor la función y(t) en un entorno [t; t + h] tendremos

h2
y(t + h) = y(t) + y 0 (t)h + y 00 (t) + ....
2
Como y 0 (t) = f (t, y) podemos modificar la expresión anterior para escribirla de la siguiente forma:

h2
y(t + h) = y(t) + f (t, y)h + y 00 (t) + ....
2

Dado que nuestro entorno de la solución está dado por [a; b], definamos el paso h como

b−a
h=
N
, donde N es el número de intervalos.

46 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Con esto podemos definir que


tn+1 = tn + h
y que
t0 = a
y
tN = b
.
Con esto podemos escribir que
yn+1 = yn + hf (tn , yn )

Algoritmo
%PROBLEMAS DE VALOR INICIAL
clear all
ye=@(t)(log(exp(t.^2./2))+2.21)
a=0;
b=2;
n=6;
h=(b-a)/n;
t=a:h:b;
t(1)=a;

y(1)=3;
for i=1:n
y(i+1)=y(i)+h*t(i);
end
ye(t)
plot(t,ye(t),t,y)

Ejercicios
Pruebe que si se utiliza el Método de Euler para resolver el probema de Valor Inicial

y 0 = f (t)en[a, b]cony(a) = y0 = 0

El resultado es:
M
X −1
y(b) = f (tk )h
k=0

que es la Suma de Riemman que aprcxime la integral definida de f(t) en el intervalo [a,b]

yn+1 = yn + hf (tn , yn )

y1 = y0 + hf (t0 , y0 )
y0 = 0
y1 = y0 + hf (t0 )
y2 = y1 + hf (t1 )
y3 = y2 + hf (t2 )
y3 = hf (t0 ) + hf (t1 )) + hf (t2 )
yn = yn−1 + hf (tn−1 )
n−1
X
yn = f (tn )
k=0

Métodos Numéricos 47
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

5.2.- Método de Euler Mejorado - Corrector

Este método se basa en la misma idea del método anterior, pero hace un refinamiento en la aproximación,
tomando un promedio entre ciertas pendientes.

Supongamos ahora que desarrollamos y(t) en tn+h para obtener y(tn). Entonces tendremos que

h2
y(tn ) = y(tn + h) + y 0 (tn + h)h + y 00 (tn + h) + ...
2
y, como 0 (tn + h) = f [tn + h; y(tn + h)], nos queda que

h2
y(tn ) = y(tn + h) − f [tn + h; y(tn + h)]h + y 00 (tn + h) + ...
2

Nuevamente, como tn + 1 = tn + h, y despejando y(tn + 1) limitando otra vez la expresión a la segunda


derivada, tenemos que en forma análoga, lo que en realidad buscamos es una aproximación de y(tn + 1), por lo
tanto tendremos la siguiente expresión:

un+1 = un + hf (tn+1 ; un+1 ),

para n = 0; 1; ...; N − 1. Este método se conoce como método de Euler expresado en forma Implı́cita

Método de Euler mejorado. Está dado por:

un+1 = yn + hf (tn , yn )

h
yn+1 = yn + (f (tn , yn ) + f (tn+1 , un+1 ))
2

48 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo

clc
a=0;
b=1;
f=@(x,y)(x*y);
n=100; h=(b-a)/n;
yn(1)=1;
%solución más precisa Euler mejorado- Predictor Corrector
ym(1)=yn(1);
ym(2)=ym(1)+h*f(x(1),yn(1));
for i=1:n
ym(i+1)=ym(i)+(h/2)*(f(x(i),yn(i))+f(x(i+1),yn(i+1)));
end
%Solución
ya=exp((x.^2)/2);
plot(x,ya,’r’,x,ym,’g’);
grid on;

Ejercicios
Resuelva las siguientes ecuaciones diferenciales usando el método de Euler Mejoradp

dy
= t2 − y, y(0) = 1, y(t) = −e−t + t2 − 2t + 2
dt

a.- Tome h=0,2 y dé dos pasos calculando los valores a mano. Luego tome h=0.1 y dé cuatro pasos calculando
los valores a mano
b.- Compare la solución exacta y(0,4) con las dos aproximaciones calculadas en el apartado a)
c.- Se comporta el error global final de las aproximaciones otenidas en el apartado a) como se espera cuando h
se divide entre dos

dy
= t2 − y, y(0) = 1, y(t) = −e−t + t2 − 2t + 2
dt

tn yn(h = 0,1) yn(h = 0,2) ye e1 e2


0,0 1 1 1 0 0
0,1 0.90550 • 0.90516258 0.000337 •
0,2 0,82193 0.824 0.82126925 0.00066075 0.002730
0,3 0.75014 • 0.74918180 0.0009582 •
0,4 0.69092 0.69488 0.68967959 0.001240 0.005180

5.3.- Método de Runge-Kutta


Los métodos de Runge-Kutta (RK) son un conjuntos de métodos iterativos (implı́citos y explı́citos) para la
aproximación de soluciones de ecuaciones diferenciales ordinarias, concretamente, del problema de valor inicial.
Sea
y 0 (t) = f (t, y(t)),

una ecuación diferencial ordinaria, con f : η ⊂ R × Rn → Rn dondeΩ es un conjunto abierto, junto con la
condición de que el valor inicial de f sea
(t0 , y0 ) ∈ η.

Entonces el método RK (de orden s) tiene la siguiente expresión, en su forma más general:

s
X
yn+1 = yn + h bi ki ,
i=1

Métodos Numéricos 49
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

Algoritmo

%h=0.1;
a=0;
b=4;
%solución exacta
y1=@(t)(5-4*exp(-4*t));
tem1=a:h:b;
f1=y1(tem1);
%ecuación diferencial
f=@(t,y)(20-4*y);
%encuentro la solución mediante Runge-Kutta
ec1=RK(f,a,b,1,h);
[m,n]=size(ec1);
ect=a:h:b;
ect(1)=ec1(1);
ect(2)=ec1(2);
%Desarrollo el método de punto intermedio
for i=2:n-1
ect(i+1)=ect(i-1)+2*h*f(tem1(i),ect(i));
end
Exacta=ec1;
Aproximada=ect;
for i=1:n
error=abs(ec1(i)-ect(i));
end
max(error)
hold on
ec1
ect
%grafica la real y la aproximada
grid on
xlabel(’t’)
ylabel(’y’)
title(’Gráfica aproximada y real’)
plot(tem1,f1)
plot(tem1,ect,’r’)
legend(’real’,’aproximada’)
end

donde h es el paso por iteración, o lo que es lo mismo, el incremento ∆tn entre los sucesivos puntos tn y

50 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

tn+1 . Los coeficientes ki son términos de aproximación intermedios, evaluados en f de manera local
 
s
X
ki = f tn + h ci , yn + h aij kj  i = 1, ..., s.
j=1

con aij , bi , ci coeficientes propios del esquema numérico elegido, dependiente de la regla de cuadratura utilizada.
Los esquemas Runge-Kutta pueden ser explı́citos o implı́citos dependiendo de las constantes aij del esquema.
Si esta matriz es triangular inferior con todos los elementos de la diagonal principal iguales a cero; es decir,
aij = 0 para j = i, ..., s, los esquemas son explı́citos.

Ejemplo
Esquema Runge-Kutta de dos etapas, una en t = tn 4 y otra en t = tn + ∆tn .f (t, y(t))en la primera etapa es:

fn = k1 = f (tn , yn ),

Para estimar f (t, y) en t = tn + ∆tn se usa un esquema Euler

fn+1 = k2 = f (tn + ∆tn , yn + ∆tn k1 ).,

Con estos valores de f , se sustituyen en la ecuación


Z tn+1
yn+1 = yn + f (t, y(t)) dt,
tn

de manera que se obtiene la expresión:


∆tn
yn+1 = yn + (k1 + k2 ).
2
Los coeficientes propios de este esquema son: b1 = b2 = 1/2; a21 = 1; c2 = 1.

Variantes

Existen variantes del método de Runge-Kutta clásico, también llamado Runge-Kutta explı́cito, tales como la
versión implı́cita del procedimiento o las parejas de métodos Runge-Kutta (o métodos Runge-Kutta-Fehlberg).
Este último consiste en ir aproximando la solución de la ecuación mediante dos algoritmos Runge-Kutta de
órdenes diferentes, para ası́ mantener el error acotado y hacer una buena elección de paso.

Métodos de Runge-Kutta de cuarto orden

Un miembro de la familia de los métodos Runge-Kutta es usado tan comúnmente que a menudo es referenciado
como ((RK4)) o como ((el método Runge-Kutta)).

Definiendo un problema de valor inicial como:

y 0 = f (x, y), y(x0 ) = y0

Entonces el método RK4 para este problema está dado por la siguiente ecuación:
1
yi+1 = yi + h (k1 + 2k2 + 2k3 + k4 )
6
Donde 

k1 = f (xi , yi )
= f xi + 21 h, yi + 12 k1 h

k 
2
= f xi + 21 h, yi + 12 k2 h



k 3
k4 = f (xi + h, yi + k3 h)

Ası́, el siguiente valor (yn+1 ) es determinado por el presente valor (yn) más el producto del tamaño del intervalo
(h) por una pendiente estimada. La pendiente es un promedio ponderado de pendientes, donde k1 es la pendiente
al principio del intervalo, k2 es la pendiente en el punto medio del intervalo, usando k1 para determinar el valor

Métodos Numéricos 51
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES

de y en el punto xn + h2 usando el método de Euler.


k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el valor de y; k4 es la
pendiente al final del intervalo, con el valor de y determinado por k3 . Promediando las cuatro pendientes, se le
asigna mayor peso a las pendientes en el punto medio:
k1 + 2k2 + 2k3 + k4
pendiente = .
6
Esta forma del método de Runge-Kutta, es un método de cuarto orden lo cual significa que el error por paso es
del orden de O(h5 ), mientras que el error total acumulado tiene el orden O(h4 ). Por lo tanto, la convergencia
del método es del orden deO(h4 ), razón por la cual es usado en los métodos computacionales.

52 Métodos Numéricos

Potrebbero piacerti anche