Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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!
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)|
≤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 )
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
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
Convergencia
|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
Debemos recordar ciertas conceptos que nos ayudrán en el transcurso del curso, entre ellos
|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
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 :
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;
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
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
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.
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:
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.
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
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||
12 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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
14 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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
Métodos Numéricos 15
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
Ejemplo
%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
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
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
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
%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 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
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
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
−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
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
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
c
X
drc = mrk akc
k=1
c
X
drc = mrk akc + mrc acc
k=1
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
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
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
%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
Métodos Numéricos 29
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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.
u1 = v1
k−1
X vk .uj
uk = vk − , j = 2, ..k
j=1
kuj k2
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
Algoritmo
a=[0;1;4];
b=[3;5;7];
c=[-2;-0.2;0];
d=[1;5.8;11];
N = length(d);
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
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)
Métodos Numéricos 33
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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)
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
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
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
Métodos Numéricos 35
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
Algoritmo
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
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
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
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).
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
f (x + 2h) − 2f (x + h) + 2f (x − h) − f (x − 2h) h2 M
f 3 (x) = −
2h3 4
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;
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
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.
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)
Métodos Numéricos 41
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
%Ingreso de extremos
a=0;
b=1;
h=(b-a);
%ingreso de la Función
f=@(x) sin(pi*x);
A = h*f(a)
%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
Métodos Numéricos 43
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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
44 Métodos Numéricos
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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
Métodos Numéricos 45
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE MIS PRIMEROS APUNTES
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
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
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
para n = 0; 1; ...; N − 1. Este método se conoce como método de Euler expresado en forma Implı́cita
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
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 ),
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.
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)).
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
52 Métodos Numéricos