Libro Flores
Libro Flores
INDICE
Introducción 3
Capítulo 1. Soluciones de Ecuaciones de una Variable 4
Método de la Bisección 5
Método del Punto Fijo 7
Método de Newton 10
Método de la Secante 12
Método de Bairstow 15
Capítulo 2. Sistema de Ecuaciones Lineales 17
Métodos Directos de Solución de Sistemas de Ecuaciones Lineales 18
Algoritmos para la Factorización LU 22
Método de Jacobi 28
Capítulo 3. Valores y Vectores Propios 32
Valores y Vectores Propios 33
Método de Jacobi Clásico 35
Método de la Potencia 37
Otros Algoritmos para Valores y Vectores Propios 41
Vibración Forzada Amortiguada – Sistema de Múltiples Grados de Libertad 45
Capítulo 4. Interpolación y Aproximación Polinomial 48
Interpolación de Funciones con Polinomios 49
Formas de Representar el Polinomio de Interpolación 50
Error de Interpolación Polinomial 50
Diferencias Divididas 51
Diferencias Finitas Centrales 54
Estabilidad del Método de Newmark 56
Capítulo 5. Integración Numérica 59
Cuadratura Cerrada de Newton-Cotes 60
Cuadratura de Gauss Legendre 62
Bibliografía 65
Anexos Anexo I 66
Anexo II 68
Introducción
Capítulo 1
MÉTODO DE LA BISECCIÓN
Dado f ( x ) 0 y un intervalo a, b , si la función tiene sólo una raíz r en a, b , f ( a ) f (b) 0 y
que:
1
bn a n (b0 a0 ) .
2n
Si c n es una aproximación de la raíz, se tiene que el error absoluto cumple con la siguiente
relación:
1 1
r cn bn an n1 b0 a0 , tomando límites se tiene:
2 2
Una ecuación importante en el estudio de pavimentos es la ecuación AASHTO 93, esta sirve para
calcular un parámetro llamado número estructural SN , en función de este parámetro se determina
el espesor de las diferentes capas de un pavimento, a continuación describimos la solución de
esta ecuación con ayuda del método de la bisección.
PSI
Log10
Log10 W18 Z R .SO 9.36.Log10 (SN 1) 0.20 4.2 1.5 [Link] (M ) 8.07
10 R
1094
0.40
(SN 1) 5.19
Para la solución de esta ecuación Se emplean los siguientes datos:
1 2 3 4 5 6 7 8 9 10 11
CALCULO DEL NUMERO ESTRUCTURAL DE PAVIMENTOS FLEXIBLES Y ESPESOR DE LA LOSA DE PAVIMENTOS RIGIDOS
Cd: coeficiente de drenaje, k: Módulo de reacción de la subrasante
W 18: Tráfico estimado W 18 Ejes Equivalentes W 18 1.047E+06 Ejes Equivalentes J 3.2
ZR: Desviación estándar normal ZR ZR -2.327 k 581 pci
So: Error estándar combinado So So 0.35 Ec 3.120E+06 psi
PSI: Pérdida de serviciabilidad PSI PSI 2 Cd 1
MR: Módulo Resilente de la subrasante, Sc: Módulo de rotura del concreto MR psi Sc 440 psi t 2.5
Extremo izquierdo del intervalo de búsqueda del Número Estructutal o Espesor de Losa SNi Di 5
Extremo derecho del intervalo de búsqueda del Número Estructutal o Espesor de Losa SNf Df 12
tol: Error Tolerancia tol tol 0.0001
Número Estructural Requerido o Espesor de Losa requerido SNreq D 8.81
TABLA DE ITERACIONES
Elija la opción adecuada
Los datos anteriores fueron procesados con visual Basic para Excel, en un programa que se
entrega en el CD de programas, sin embargo un código similar en matlab es el siguiente:
function [res,i]=biseccion(a,b,tol)
i=0;
A = fopen('[Link]','w');
while (b-a)/2>=tol
x=(a+b)/2;
d1=f(a);
d2=f(x);
i=i+1;
y=[i a b d1 d2 x (b-a)/2];
if d1*d2<0
b=x;
else
a=x;
end
fprintf(A,'\t%d\t%6.7f\t%6.7f\t%6.7f\t%6.7f\t%6.7f\t %6.7f\n',y);
end
res=(a+b)/2;
fclose(A);
Un punto fijo de una función f , es un p Domf tal que p f ( p ). Este método es útil para
calcular los ceros de algunas funciones.
Teorema
1. Sea f : a, b c, d / c, d a, b , entonces f tiene un punto fijo en a,b .
Se puede considerar que si f (a ) a o f (b) b , entonces el punto fijo existe, para los demás
Para probar la unicidad, supongamos que p y q son puntos fijos de f , entonces por el teorema
del valor medio existe un entre p y q tal que:
f ( p) f (q) p q f ' ( ) p q k p q p q .
Lo que indica que 1 k , esto es una contradicción, por tal razón el punto fijo es único.
Para probar (3), por el teorema del valor medio tenemos que:
Un ejemplo que ilustra lo mencionado anteriormente es probar que la sucesión generada por
x n 1 A
xn n 1 , converge a A.
2 2 x n 1
x A
Se sabe que si 0 x A , entonces ( x A ) 2 0 , esto indica que A , lo que indica
2 2x
que f ( x) A , si escogemos un x A , entonces todos f ( x) A ya que ( x A)2 0;
sea f ( x)
x A
2 2x
una función con dominio
A , x 0 tal que x 0 A , se puede ver que
cualquier punto del domino cumple con x2 A esta última expresión equivale a
x A
x f ( x) , como x0 x f ( x) A , entonces existe punto fijo; además
2 2x
1 A 1
f ' ( x) 1 2 , se puede ver que f ' ( x) , esto indica que el punto fijo es único, finalmente
2 x 2
x
A , x0 , la sucesión generada por x n
x n 1
2
A
2 x n 1
n 1 converge al punto fijo, además
Otro ejemplo común en Ingeniería Civil es encontrar la cantidad de acero necesaria para un
elemento sometido a flexión, a continuación indicamos un ejemplo.
Una viga soporta un momento de Mu 2596100 kgr cm. , si la fórmula para encontrar la cantidad
a
de acero que debe tener la viga viene dada por Mu 0.9 As f y (d ) y 0.85 f ' c ba As f y ,
2
encontrar la cantidad de acero As , si:
d 44 cm., b 30 cm. , f 'c 350 kgr / cm 2 y f y 4200 kgr / cm 2 .
Mu
As
As f y
0.9 f y (d )
1.7bf 'c
Si iteramos considerando que:
function [y]=f(x)
y=2596100/(0.9*4200*(44-x*4200/(1.7*30*350)));
Obtenemos:
METODO DE NEWTON
El método de la Newton es un método que aproxima a una función dada con un polinomio de
primer grado, mediante el valor de la función y la derivada de la función en un entorno de un punto
específico, es decir emplea una interpolación hermitiana. Este método es empleado para resolver
f ( x) 0 donde f : , la sucesión generada por este método es:
f 'n
xn 1 xn , n 1 , donde f n representa a f ( xn ) .
fn
Las condiciones de suficiencia para que el método de newton funcione son las siguientes:
1. f es continua en a,b .
Desarrollando una función f por series de Taylor alrededor del punto xn se tiene:
1
f ( x) f n f 'n ( x xn ) ( x xn )2 f ' ' ( )
2
es un punto del intervalo donde se busca la raíz.
Supongamos por ejemplo que f y f ' son crecientes en a, b , si evaluamos a la función en la
raíz se tiene que:
1
f n f 'n (r xn ) (r xn )2 f ' ' ( ) 0 .
2
Como la segunda derivada es positiva, se tiene que: f n f ' n ( r x n ) 0 , de esta última
f 'n
De xn 1 xn , n 1 podemos ver que como f y f ' son positivas entonces x n 1 x n , lo
fn
que indica que tenemos una sucesión decreciente y acotada inferiormente, esto quiere decir que
la sucesión converge a r. Todo lo anterior se puede resumir en el siguiente teorema:
Teorema: Sea f (x ) una función, con raíz única r en a, b . Si se satisfacen las tres condiciones
La existencia del punto x 0 es fácil de probar, ya que la función tendrá raíz única en el intervalo
a, b , por lo tanto existe una infinidad de valores positivos a la derecha o la izquierda de la raíz,
según sea el caso.
function [res,it]=newton(x0,tol)
it=1;
A = fopen('[Link]','w');
x1=x0-f(x0)/ f’(x0);
E=abs(x1-x0);
y=[it x0 f(x0) f’(x0) x1 E ];
fprintf(A,'\t%d \t%6.7f \t%6.7f \t%6.7f \t%6.7f \t%6.7f\n',y);
while E>tol
it=it+1;
x0=x1;
x1=x0-f(x0)/ f’(x0);
E=abs(x1-x0);
y=[it x0 f(x0) f’(x1) x1 E ];
fprintf(A,'\t%d \t%6.7f \t%6.7f \t%6.7f \t%6.7f \t%6.7f\n',y);
end
fclose(A);
res=x1;
METODO DE LA SECANTE
El método de la secante es un método lagrangiano, se utiliza para encontrar los ceros de algunas
funciones. La aproximación de la raíz de la ecuación f ( x) 0 donde f : , se calcula
xn xn 1
xn 1 xn f n , n 1 / f n f n 1 , donde f n representa a f ( xn ) .
f n f n 1
Al aproximar una raíz de f con el método de la secante, se comete un error, para obtener una
expresión del error cometido se utiliza el polinomio de interpolación que pasa por los puntos
xn y xn 1 , se representa a f (x) por medio del polinomio de interpolación más su expresión de
error.
f n f n 1 1
f ( x) f n ( x xn ) ( x xn )( x xn 1 ) f ' ' ( )(1) donde es un punto del intervalo
xn xn 1 2
donde se busca la raíz.
f n f n 1 f ' ' ( )
f ' ( ) , xn , xn 1 , de lo anterior si En r xn se tiene que En 1 En En 1 si
xn xn 1 2 f ' ( )
En 1 MEn En 1 (4) .
Sea maxME0 , ME1 entonces si se cumple MEk 2 MEk 1 de (4) se cumple que
f ' ' ( )
C ya que cuando n r r , podemos determinar el orden de
2 f ' ( )
x1 x0
Se tiene x 0 1 y x1 1.05 entonces x1 x0 0.05 tol , x2 x1 f1 1.097064 . Luego
f1 f 0
se procede en forma similar para las demás iteraciones.
iteración xn 1 f ( xn 1 ) xn 1 xn Error
1 1.097064 0.028081 1 1.05 0.05
2 1.094487 -0.000715 1.05 1.097064 0.047064
3 1.094551 -0.000001 1.097064 1.094487 0.002576
4 1.094551 -0.000001 1.094487 1.094551 0.0
Rpta: 1.094551
function [altura,teta,it]=fsecante(func,x0,x1,tol)
it=0;
d=feval(func,x1)*(x1-x0)/(feval(func,x1)-feval(func,x0));
while abs(d)>tol
x2=x1-d;
it=it+1;
x0=x1;
x1=x2;
d=feval(func,x1)*(x1-x0)/(feval(func,x1)-feval(func,x0));
end
respuesta=x1-d;it=it+1;
METODO DE BAIRSTOW
n
Sea P( x) a x k
k
un polinomio de grado n , si ak R , k 0,1,..., n , el método de Bairstow es
k 0
n
Teorema. Si el polinomio P( x) a x
k 0
k
k
se divide entre el factor cuadrático x 2 ux v , entonces
n
el cociente Q( x) b x
k 2
k
k 2
y el residuo R ( x) b1 ( x u ) b0 , pueden calcularse de manera
Se tiene que:
P( x) Q( x)( x 2 ux v) R( x),
n n
a k x k bk x k 2 ( x 2 ux v) b1 ( x u ) b0
k 0 k 2
bk b
R (x) sea cero bk (u , v) 0 para k 0,1, de esta forma definimos ck d k k 1 donde
u v
k 0,1,2,..., n , si derivamos bk ak ubk 1 vbk 2 con respecto a u se tiene que
c0 c1 u b c c1
0 donde J 0 .
c1 c2 v b1 c1 c2
Teorema.: Sean u0 ,v0 valores reales tales que los ceros de x 2 u0 x v0 son ceros simples,
entonces J 0 .
Algoritmo:
1. Indicar valores iniciales de (u0 , v0 ) y 0 .
c0 c1 u b
4. Resolver 0 .
c1 c2 v b1
u u u
5. Hacer .
v v v
CODIFICACION EN MATLAB
function [u,v]=bairstow(a,u,v,it,tol)
n=length(a);delta=[tol+10 tol+10]';
for j=1:it
if((abs(delta(1))+abs(delta(2)))>tol)
[b]=formula(a,u,v,n);
[c]=formula(b,u,v,n-1);
delta=[c(n-2) c(n-3);c(n-1) c(n-2)]\[-b(n-1) -b(n)]';
u=u+delta(1);v=v+delta(2);
end
end
function [m]=formula(f,u,v,nn)
m(1)=f(1);m(2)=f(2)+u*f(1);
for k=3:nn
m(k)=f(k)+u*m(k-1)+v*m(k-2);
end
Capítulo 2
Por ejemplo en una armadura espacial, se resuelve un sistema de ecuaciones lineales para
encontrar los desplazamientos verticales y horizontales en cada uno de sus elementos.
Antes de continuar se hace mención a algunas propiedades de matrices y sistemas lineales, útiles
para la comprensión de la solución de los sistemas lineales por métodos directos.
Propiedades:
1. La inversa de una matriz triangular inferior o superior es otra matriz triangular inferior o superior.
2. Si un sistema de ecuaciones se obtiene a partir de otro por medio de una sucesión finita de
operaciones elementales, los dos sistemas son equivalentes.
3. Una matriz cuadrada puede tener a lo sumo una matriz inversa por la derecha.
es una matriz identidad de orden n . Esta matriz presenta las siguientes propiedades:
1. Ek1 I mk ekT .
k
2. Ek Ek 1 E2 E1 I m j eTj .
j 1
A LLT , donde L , es una matriz triangular inferior con los elementos de la diagonal positivos.
c. Se consideran mij , k a ij , k / aki , k , j k 1 , para factorizar A LU .
Teorema: Si A es una matriz que cumple con la propiedad (a), esta es una condición suficiente
para que exista una matriz L triangular inferior y una matriz U triangular superior, ambas de
orden n tal que A LU .
U k 1, k 1 M k 1, n k 1
Si A( k 1) Ek 1Ek 2 E1 A , luego A( k ) Ek A( k 1) , 1 k n 1 , sea
0n k 1, k 1 An k 1, n k 1
*
I k 1, k 1 0n k 1, n k 1
Ek *
, donde Ek* es una matriz elemental triangular inferior de orden
0n k 1, n k 1 Ek
n k 1 , que hace cero los elementos debajo de la diagonal principal de la primera columna de
An* k 1,n k 1 , luego se tiene:
L E11 En11 es una matriz triangular inferior con unos en la diagonal. Se puede probar que esta
descomposición con unos en la diagonal de L es única. Este algoritmo toma el nombre de
factorización LU de Doolittle.
n
3. Resolver Ux z por sustitución inversa: xi (bi u
k i 1
z ) / ui ,i , n i 2, xn bn / an, n .
i,k k
Ejemplo: Se tiene una Armadura como la que se muestra en la figura (a) la cual soporta fuerzas
de 20000 y 25000 libras como se indica en la figura (b). El area de las secciones transversales de
la armadura es de 1 in 2 y E 29 .5 10 6 psi , se desea encontrar los desplazamientos verticales y
horizontales en los puntos en los puntos 2 y 3.
(a)
(b)
1 0 0 0.7375 0 0
L 0 1 0 , U 106 0 1.1151 0.2832
0 0.2540 1 0 1.1238
0
Resolviendo Ux z por sustitución inversa se tiene x 10 3 (27 .12,5.65,22 .25)T todos los
desplazamientos están en pulgadas.
min( i , j )
Además el elemento aij l u
s 1
is sj ya que L y U son matrices triangulares.
k k 1 k 1
Si i j se tiene: akk lksusk lksusk lkkukk de donde ukk (akk lksusk ) / lkk .
s 1 s 1 s 1
k 1 k 1
Si k 1 j n se tiene akj lksusj lkkukj de donde ukj (akj lksusj ) / lkk .
s 1 s 1
k 1 k 1
Si k 1 i n se tiene aik lisusk lik ukk de donde lik (aik lisusk ) / ukk .
s 1 s 1
Algoritmo 1
Paso 1. Multiplicar la primera fila de L por todas las columnas de U para obtener la primera fila de
U.
Paso 2. Multiplicar todas las filas de L por la primera columna de U para obtener la primera
columna de L.
Paso 3. Repetir el Paso 1 es decir multiplicar la segunda fila de L por las Columnas de U a partir
de la segunda columna para obtener los elementos de la segunda fila de U. (Si se desea
obtener la k-ésima fila de U se multiplicara la k-ésima fila de L por las columnas de U a
partir de la k-ésima columna).
Paso 4. Repetir el Paso 2 es decir multiplicar las filas de L a partir de la segunda fila por la
segunda columnas de U para obtener los elementos de la segunda de L. (Si se desea
obtener la k-ésima fila de L se multiplicaran las filas de L a partir de la k-ésima fila por la
k-ésima columna de U).
Algoritmo 2
Como segundo algoritmo desarrollaremos en matlab el criterio expuesto en la parte teórica del
presente capítulo.
Algoritmo 3
El método PA LU , es una variante del anterior algoritmo, se permutan las filas en caso de
encontrar un cero en la diagonal principal. Pij es la matriz que resulta de intercambiar las fila i y
function [L,U,P]=palu_2(A)
n=length(A); P=eye(n);
for i=1:n-1
c=A(i,:);A(i,:)=A(j,:);A(j,:)=c;
c=P(i,:);P(i,:)=P(j,:);P(j,:)=c;
A(i+1:n,i)=A(i+1:n,i)/A(i,i);
A(i+1:n,i+1:n)=A(i+1:n,i+1:n)-A(i+1:n,i)*A(i,i+1:n);
end
L=tril(A,-1)+eye(n);
U=triu(A);
Algoritmo 4
El algoritmo de cholesky será una variante del LU cuando A A , a cada fila de la matriz U se
t
le dividirá por uii ; será suficiente que los valores de uii sean mayores que cero, para que todos
1 0 u1,1 ln ,1u1,1
A 0 0
u1, n
u 1 0 un , n
1,1
1 0 1 0 1 0 u1,1 u1, n
0 0 entonces A 0 , si multiplicamos a la
u1, n u1, n
u 1 ln ,1 1 u 1 0 un , n
1,1 1,1
columna i-ésima de la matriz triangular inferior por ui ,i y a la i-ésima fila de la matriz triangular
u
u1, n
0 1,1
u1,1
u1,1
A 0 , lo que indica que A LLt
u1, n
un , n 0 un , n
u1,1
n=length(A);
for i=1:n-1
A(i+1:n,i)=A(i+1:n,i)/A(i,i);
A(i+1:n,i+1:n)=A(i+1:n,i+1:n)-A(i+1:n,i)*A(i,i+1:n);
A(i,i:n)=A(i,i:n)/A(i,i)^0.5;
end
A(n,n)=A(n,n)^0.5;LT=triu(A);L=LT';
A 0 A 0 0
0 B 0 B B
0 0 A 0 0 1 2
x c donde c 0 1 0 0 1 0 1 0 0 1 0 t A
0 0 B B , 2 1 ,
0
0 0 0 0 B
0
1 2 3
B 2 1 0 . Resuelva el sistema usando factorización LU . Dar como respuesta x t x.
2 1 1
A 0 A 0 0 LA 0 0 0 0 U A 0 U A 0 0
0 B 0 B B 0 LB 0 0 0 0 UB 0 UB UB
0 0 A 0 0 0 0 LA 0 0 0 0 UA 0 0
0 0 0 B B 0 0 0 LB 0 0 0 0 UB UB
0 0 0 0 0 B 0 U B
0 0 0 0 LB 0 0 0 0 0
U A 0 U A 0 0
0 UB 0 UB UB
0 0 UA 0 0
x z , entonces el sistema para la sustitución directa es:
0 0 0 UB UB
0 U B
0 0 0 0
LA 0 0 0 0
0 LB 0 0 0
0 0 LA 0 0
z c , se puede ver que c c1 c2 c3 c4 , donde
t
0 0 0 LB 0
0 LB
0 0 0 0
1 0 01 2 3
1 01 2
A y B 0 1 00 1 0 podemos realizar los siguientes cálculos por
2 1 0 3 2 3 1 0 0 5
sustitución directa:
z1 z3 z5 z7 0 1 t , z2 z4 z6 z8 0 1 3 t .
1 3
U B x8 z8 , luego x8 1 t , luego se tiene que U B x6 U B x8 z6 z8 luego
5 5
U B x2 U B x4 U B x6 U B x8 z2 z8 , luego x2 0 0 0 .
t
2 1
U A x7 z7 , luego x7 t , luego se tiene que U A x5 U A x7 z5 z7 luego
3 3
U A x1 U A x3 U A x5 U A x7 z1 z7 , luego x1 0 0 0 .
t
88
La respuesta sería: xt x x7 2 x8
2 2
2
.
45
METODO DE JACOBI
bi n a aij
escribir de la siguiente forma xi x j .sea M una matriz tal que mij
ij
si
aii j 1 aii aii
j i
bi
j i mii 0 , sea C un vector tal que ci . El sistema se puede escribir de la forma
aii
x Mx C .
xi xi , i 1,..., n .
(k ) (k )
ei
(k ) D(k ) .
Teorema 1 : Una condición suficiente para que el método de Jacobi converja a la solución de
x Mx C para cualquier aproximación inicial x ( 0) es que 1 .
Teorema 2 : Sea el sistema Ax b . Una condición suficiente para que el método de Jacobi sea
convergente a la solución del sistema es que A sea diagonalmente dominante.
Es una consecuencia del teorema 1.
(k )
Teorema 3 : Si el factor de convergencia de M es 1 ( k ) .
1
E ( k 1) E ( k ) D ( k ) E ( k 1) E (k ) D(k ) , ( k 1) ( k ) ( k ) , además ( k ) ( k 1) de donde
(k )
se obtiene ( k ) .
1
(k )
Se puede escoger como criterio de parada Tol . Si consideramos que el sistema es de
1
n ecuaciones con n incógnitas, que tiene solución única y que A es una matriz diagonalmente
dominante entonces podemos considerar el algoritmo siguiente:
Algoritmo
1. Para k 0 escoger una aproximación inicial x ( 0) , asignar a ( 0) un valor grande, indicar tol .
2. Hacer k k 1 , x ( k ) Mx ( k 1) C , ( k ) D ( k ) .
(k )
3. Si tol repetir para k 1,2,...
1
4. x (k ) es una aproximación con un error menor que tol .
Programa en matlab
function [x1,it]=jacobilab(A,b,xo,tol)
x1=xo;xo=xo+10*tol;it=0;n=length(b);
while (norm(x1-xo,inf)>tol)
xo=x1;
for i=1:n
x1(i)=(b(i)-A(i,:)*xo+A(i,i)*xo(i))/A(i,i);
end
it=it+1;
end
fórmula sugiere x ( k ) ( I Q 1 A) x ( k 1) Q 1b , en el método de Jacobi Q es una matriz diagonal tal
Programa en matlab
function [xo,it]=gaussseidellab(A,b,xo,tol)
u=xo+10*tol;it=0;n=length(b);
while (norm(u-xo,inf)>tol)
u=xo;
for i=1:n
xo(i)=(b(i)-A(i,:)*xo+A(i,i)*xo(i))/A(i,i);
end
it=it+1;
end
Un ejemplo donde se aplican sistemas de ecuaciones y luego estos son resueltos con ayuda de
algoritmos LU o similares, es el caso de sistemas aporticados, por ejemplo dado el pórtico que
indicamos en la figura, deseamos conocer los desplazamientos de cada uno de los elementos.
La Longitud de las vigas es de 800 cm., la altura de las columnas es de 450 cm., las cargas
verticales son de 50 toneladas y la carga horizontal es de 10 toneladas, con ayuda de estos datos
más las respectivas inercias, áreas y módulos de elasticidad de cada elemento, se construye la
matriz de rigidez del pórtico. Par esto, en los anexos se entrega un programa para construir la
matriz de rigidez de una estructura bidimensional, este programa está basado íntegramente en los
apuntes de clase del Dr. Hugo Scaletti Farina (1996).
f 0 0 0 0 50 0 10 50 0 0 0 0 0 50 0 0 50 0
T
u= 0 0 0 2.3936 -0.1404 -0.0073 6.2579 -0.2108 -0.0065 0 0 0 2.3935 -0.1596 -0.0073 6.238 -0.2392 -0.0065 .
Capítulo 3
Se estudia el problema clásico A , antes de enunciar algún algoritmo para la solución del
problema clásico, se indican algunos teoremas importantes.
Definición: Una matriz cuadrada de orden n , que pertenece al conjunto de matrices C nxn es
Teorema 1 Todas las matrices semejantes tiene los mismos valores propios.
Teorema 2 (Schur) Toda matriz cuadrada es unitariamente semejante a una matriz triangular.
i N / 1 i h y h 1 / Vh 2 .
Empleando la construcción anterior se construye la matriz T1 x1 x2 ...xn 1 , la cual es una matriz
unitaria, supongamos que toda matriz de orden n es unitariamente semejante a una matriz
triangular, entonces se puede ver que:
v1xn 1 01xn
T1* AT1 1 si T2* BT2 es una matriz triangular superior y T3 , donde T2 T3
0nx1 Bnxn 0nx1 T2
son matrices unitarias, se puede ver también que T T3T1 es una matriz unitaria, comprobándose
finalmente que:
c1xn
T * AT 1 *
es una matriz triangular superior.
0nx1 T2 BT2
Teorema 3 Una matriz Anxn es semejante a una matriz diagonal Dnxn si y solamente si Anxn tiene
1
Si X AX D entonces det( X ) 0 , luego los vectores columna de X son L.I., sea xk la k-
donde:
1 0
AX x1 xn XD , como xk son L.I., se tiene X 1 AX D .
0
n
T
1. Si A es una matriz real y simétrica, y P una matriz ortogonal entonces P AP es simétrica.
n
2. Si Pj representa una matriz ortogonal, entonces P es una matriz ortogonal.
k 1
k
Este método es utilizado para la solución de A , donde A es una matriz cuadrada real y
simétrica. La idea de jacobi es la siguiente:
n n
1
n n 2
aij
2
La norma de Frobenius para A R nxn se define como A F . Dada la matriz:
j 1 i 1
1 0 0 0
0 c s 0 p
J ( p , q, )
0 s c 0 q
0 0 0 1
p q
máximo aij / i j .
2. Luego de (1) se tiene aij( k 1) aij( k ) si i, j son diferentes de p, q , en caso contrario se tiene
k 1)
a (pm ( k 1)
amp camp
(k )
samq
(k )
donde m 1,..n p, q , del mismo modo se tiene que
( k 1)
aqm ( k 1)
amq samp
(k )
camq
(k )
donde m 1,..n p, q.
c 2 s 2 aqq a pp
(k ) (k )
s
3. Para que a ( k 1)
pq a ( k 1)
qp 0 , se tiene se tiene que (k )
, si t tan
2cs 2a pq c
signo( ) 1
luego t 2 2 t 1 0 , de donde t ,c y s ct.
1 2 1 t2
( k 1) ( k 1)
De lo anterior se tiene que amp amq amp amq
2 2 2 2
(k ) (k )
5. , sea W (k ) la suma de los cuadrados
( k 1)
de todos los elementos fuera de la diagonal de A
(k )
, luego W W ( k ) 2a 2pq , sea N la
2. V I n , eps tol A( 0 ) .
F
3. Mientras W ( k ) eps
3b. Calcular , J y t .
3d. V VJ (( pk ,)q , ) .
Codificación en Matlab
function [d,O]=jacobiclasico(A,tol)
d=A; V=eye(length(A));
while norm(d-diag(diag(d)),'fro')>tol*norm(A,'fro')
[maximos,filas]=max(abs(triu(d,1)));
[maximo,q]=max(maximos); p=s(q);
ang=atan(2*d(p,q)/(d(q,q)-d(p,p)))/2;
J=eye(length(d));
J([p,q],[p,q])=[cos(ang) sin(ang);-sin(ang) cos(ang)];
d=J'*d*J;V=V*J;
end
METODO DE LA POTENCIA
Es un método empleado para encontrar el valor propio dominante con su vector propio asociado.
Para poder emplear este método es necesario que se cumpla los siguiente:
n
i 1,2...n , además x0 uk . Se debe considerar que u i (u i1 , u i 2 ,....u in ) T .
k 1
Para deducir la convergencia del método al valor propio dominante se tienen que seguir los
siguientes pasos:
n n n
k uk , de esta manera x1
y1 1
y1 Ax 0 y1 Au k
y1 2
y1
u k k , la primera
k 1 k 1 2 k 1
aproximación para el valor propio será 1 x1T Ax1 ; si se repite lo anterior tenemos
n n n
1 1 y2 1
y2 Ax1 y2
y1
k Auk y1
2k uk , de esta manera x2
y 2 2 s2
u 2
k k , donde
2 k 1 2 k 1 k 1
n
s2 u
k 1
2
k k , luego 2 x2T Ax 2 .
n n
1 ym 1
De esta manera podemos decir: ym
sm1
mkuk xm
k 1 ym 2
, luego xm
sm
u
k 1
m
k k donde
j
m
n n
sm v además vm (u1i
m
u ji ) 2 .
j 2 1
1 m
i 1
1m n
m 1 n
m
De estas últimas expresiones se puede decir xm (u1 mk uk ) (u1 mk uk ) ,
sm k 2 1 vm k 2 1
1 T n
mk T 1 n
mk 1 T n mk T n
mk1
m (u1 m uk )( ( Au1 m Au k ) 2 (u1 m uk )(u1 m1 uk )
vm k 2 1 vm k 2 1 vm k 2 1 k 2 1
im T n j
m1
1 mk T n n
Donde m 2 (u u m u1 uk m ui m1 u j ) , si m resulta:
T
vm k 2 1
1 1
i 2 1
j 1 1
38 Leonardo Flores González
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD DE INGENIERÍA CIVIL
1
lim m ( u1 2 ) 1 .
2
m 2
u1 2
Algoritmo
1. Ingresar A, x0 , tol.
2. xk Ax k 1 k 1.
xk
3. xk k 1.
xk 2
4. k xkT Ax k .
6. La respuesta es k y xk .
function [x,L,it]=potencia(A,x0,tol)
x0=x0/norm(x0,2);it=1;
L0=x0'*A*x0;x1=A*x0;x1=x1/norm(x1,2);L1=x1'*A*x1;
y=[it x1' L1 abs(L1-L0)];n=length(x1);
[s1]=impresion(y,n);
while abs(L1-L0)>tol
x0=x1;L0=L1;it=it+1;
x1=A*x0;
x1=x1/norm(x1,2);
L1=x1'*A*x1;
y=[it x1' L1 abs(L1-L0)];
[s1]=impresion(y,n);
end
x=x1;L=L1;
function [s1]=impresion(y,n)
CC = fopen('[Link]','a');
s1='%d\t';
for i=1:n
s1=strcat(s1,'%8.5f\t');
end
s1=strcat(s1,'%8.5f\t');
s1=strcat(s1,'%8.7f\n');
fprintf(CC,s1,y);
fclose(CC);
Se debe tener en cuenta que el método de la potencia inversa es similar al método de la directa
solo que la matriz es A 1 .
function [x,L,it]=potencia_inversa(A,x0,tol)
x0=x0/norm(x0,2);it=1;A=inv(A);
L0=x0'*A*x0;x1=A*x0;x1=x1/norm(x1,2);L1=x1'*A*x1;
y=[it x1' L1 abs(L1-L0)];n=length(x1);
[s1]=impresion(y,n);
while abs(L1-L0)>tol
x0=x1;L0=L1;it=it+1;
x1=A*x0;
x1=x1/norm(x1,2);
L1=x1'*A*x1;
y=[it x1' L1 abs(L1-L0)];
[s1]=impresion(y,n);
end
x=x1;L=1/L1;
2 1 0
A 1 2 1 con x0 1
3
, 1
3
,
1 T
3
y tol 0.00001 .
0 1 2
0.5145
x1
0 x Ax 0 3.33333 , x1 Ax 0 y x1
T
0 0.6859 , 1 x1T Ax1 3.41176
x1 2
0.5145
1 0 0.0784 tol. Se repiten los mismos pasos hasta que k k 1 tol. De acuerdo ha
esto tenemos:
Capítulo 4
Figura 1
p ( xi ) f ( xi ) 0 i n .
Teorema: Si x0 , x1 ,..., x n son números reales distintos, entonces para valores arbitrarios
p n ( xi ) y i 0 i n .
El polinomio de interpolación puede ser representado por la forma de Newton o por la forma de
Lagrange.
n k 1
Polinomio de Interpolación de Newton: p n ( xi ) c0 ck ( x x j ), c k representan las
k 1 j 0
n n (x x j )
Polinomio de Interpolación de Lagrange: p n ( x ) y l
k 0
k k ( x) , l k ( x)
j 0 ( xk x j )
jk
diferentes x0 , x1 ,..., x n en a, b . Para cada x en a, b corresponde un punto x en a, b tal que:
n
1
f ( x) p ( x) f ( n 1) ( x ) ( x xk )
(n 1)! k 0
DIFERENCIAS DIVIDIDAS
n k 1
Sea p n ( xi ) c0 c (x x
k 1
k
j 0
j ), el polinomio que interpola f en n 1 puntos diferentes
Propiedades:
3. Si f C n a, b y x0 , x1 ,..., xn son puntos distintos de a, b , entonces hay un punto en a, b ,
APLICACIONES
Tabla de diferencias
Tabla de diferencias
X Z Zfinal Larco
0.0000 0.0000 4.0000 0.2529
0.2000 0.1549 4.1549 0.2412
0.4000 0.2897 4.2897 0.2313
0.6000 0.4058 4.4058 0.2231
0.8000 0.5047 4.5047 0.2166
1.0000 0.5878 4.5878 0.2114
1.2000 0.6563 4.6563 0.2075
1.4000 0.7118 4.7118 0.2047
1.6000 0.7555 4.7555 0.2028
1.8000 0.7889 4.7889 0.2015
2.0000 0.8133 4.8133 0.2007
2.2000 0.8302 4.8302 0.2003
2.4000 0.8410 4.8410 0.2001
2.6000 0.8469 4.8469 0.2000
2.8000 0.8495 4.8495 0.2000
3.0000 0.8500 4.8500
Longitud Total 3.1941
Polinomio Cúbico
1.0
0.8
0.6
f(x) 0.4
0.2
0.0
0.0 1.0 2.0 3.0 4.0
x
f i f i 1 / 2 f i 1 / 2 .
n
n f i (1) k Ckn f i k respectivamente.
k 0
APLICACIONES
Las diferencias finitas centrales se utilizan para aproximar derivadas de funciones y también para
resolver ecuaciones diferenciales.
Por ejemplo la primera derivada puede ser expresada a partir de las series de Taylor:
h 2 ( 2 ) h 3 ( 3) h 2 ( 2 ) h 3 ( 3)
fi 1 fi hfi (1) fi f (1 ) y fi 1 fi hfi (1) fi f ( 2 ) de ambas fórmulas
2 6 2 6
resulta:
f i 1 f i 1 h 2 (3)
f i (1) f (3 ) , análogamente se puede obtener una expresión para la segunda
2h 6
fi 1 2 f i f i 1 h 2 ( 4)
derivada f i ( 2) f ( ) .
h2 12
Ambas expresiones pueden emplearse para resolver: mx ( 2 ) cx (1) kx mu ( 2 ) (t ) , para valores
dados de m, c, k , u ( 2 ) (t ) .
Si consideramos que x0 x1 0, t 0.02 y las aceleraciones las del registro sísmico de Lima de
Registro de Aceleraciones
1.5
0.5
0
0 10 20 30 40 50 60 70
-0.5
-1
-1.5
Se puede emplear el primer programa del Anexo I para obtener la respuesta del sistema y simular
la misma, queda como ejercicio para el lector elaborar otros algoritmos de integración directa para
obtener respuestas de sistemas de un grado de libertad.
donde A, B son matrices cuadradas de orden n sea la sucesión de vectores d definida por
n
Bd n 1 Ad n , cualquier vector de n se puede expresar como d 0 c k k , donde c k y k son
k 1
n n n
Ad n ck nk A k Bd n 1 B( c k nk 1 k ) d n 1 c k nk 1 k , de esta forma se confirma la
k 1 k 1 k 1
n
hipótesis inductiva d n c k
n
k k si además k 1, k 1,2...n entonces lim d n 0. .
n
k 1
A B
Teorema: Sean Q una matriz cuadrada de orden 2n , A, B, C , D matrices diagonales
C D
de orden n , si a j , b j , c j , d j son los elementos que ocupan la j-ésima posición en las diagonales
de A, B, C , D , entonces:
H1 02x2
a j bj
det Q det det H 1 det H 2 det H n donde H j
d j
.
0 2 x 2 H n c j
Por inducción supongamos que el teorema anterior se cumple para matrices de orden
2( n 1) , el determinante de Q lo podemos encontrar con el desarrollo de lo menores
complementarios de su n-ésima columna:
donde An 1x1n 1 , Bn 1x1n 1 , C n 1x1n 1 , Dn 1x1n 1 son la matrices diagonales de orden n 1 con los
A Bn 1xn 1 A Bn 1xn 1
det Q a n d n det n 1xn 1 (1) 2 n 1 c n bn det n 1xn 1
C n 1xn 1 Dn 1xn 1 C n 1xn 1 Dn 1xn 1
agrupando términos:
A Bn 1xn 1
det Q det H n det n 1xn 1 det H 1 det H 2 det H n
C n 1xn 1 Dn 1xn 1
probando finalmente:
H1 02x2
det Q det
0 2 x 2 H n
Estabilidad del método de Newmark: Para encontrar la solución de la ecuación diferencial lineal
homogénea:
Ma Cv f int 0
donde a, v, f int son el vector aceleración, el vector velocidad y el vector de fuerzas internas del
v n 1 v n Δt γ a n γa n 1 .
donde z d T v T z1T z 2T , como el problema de valores y vectores propios K M tiene n
vectores propios linealmente independientes, sea la matriz de vectores propios, entonces los
vectores z1 a, z 2 b se pueden expresar como una combinación lineal de las columnas de
ω12 0 2ξ1ω1 0
donde: L , y además G
0 ωn2 0 2ξ n ωn
la penúltima expresión se puede expresar así: Hz 0 , donde:
Se puede notar que las matrices A, B, C , D son matrices diagonales de orden n , los
H1 0
a j bj
det H det , donde H j
c j d j
0 H 2
a j 1 β Δt 2 w 2j (1 βΔr 2 ω jj ) (c.26)
b j Δt 2 Δt 2 β ξω (2 βΔt 2 ξω j ) (c.27)
c j Δtγ w 2 ( Δtγω 2j ) (c.28)
d j 1 2γ Δtξω (1 2γΔtξω j ) (c.29)
si los valores propios de H son menores que uno el algoritmo es estable, desarrollando el det H j
1
( 0.25 2 2 ) ( 0.25 2 2 )
se tiene: si 1 t
( 0.5 ) tw (0.5 ) w j
j
para 0.5 y 0.25 la expresión anterior es incondicionalmente estable.
Capítulo 5
INTEGRACIÓN NUMÉRICA
b
Para Integrar I ( f ) f ( x)dx , la aproximación para este tipo de integrales se obtiene a partir de:
a
n n (x x j ) f ( n 1) ( x ) n
f ( x) f k ( x xk ) , integrando esta expresión:
k 0 j 0 ( xk x j ) (n 1)! k 0
jk
b n b n (x x j ) b
f ( n 1) ( x ) n
f ( x)dx f k dx ( x xk )dx.
a k 0 a j 0
( xk x j ) a
(n 1)! k 0
jk
La segunda integral expresa el error cometido al integrar, mientras que la primera integral expresa
el valor aproximado de la integral:
b n b n (x x j )
f ( x)dx f k dx sea x a ht , además los puntos de interpolación están
a k 0 a j 0
( xk x j )
jk
ba
igualmente espaciados h , sea los nodos xi a ih donde i 0,1,2..., n se tiene que:
n
b n (x x j ) n n
(t j )
n
(x
a j 0 k xj)
dx h
0 j 0
(k j )
dt h k (t )dt.
0
jk jk
b b n
Sea k k (t)dt de esta expresión se tiene: f ( x)dx h f k k , para diferentes valores de n ,
a a k 0
n
por ejemplo 1 y 2 se tienen las reglas del trapecio y la de Simpson, se debe notar
k 0
k n que y
que además los k son simétricos, existen también fórmulas de integración compuestas, de estas
reglas.
Una forma de representar el error es mediante la forma de Peano:
n b
Sea: R( f ) h f k k f ( x)dx .
k 0 a
Teorema: Sea R( P) 0 , para todo polinomio P n . Luego para toda función f C n 1 a, b :
b
R( f ) f ( n 1) (t ) K (t )dt
a
donde: K (t )
1
n
n ( x t ) n si x t
Rx x t , x t
.
n! 0 si x t
Método para integrar funciones con puntos que no están igualmente espaciados, este tipo de
cuadratura tiene mejor precisión que la cuadratura de Newton, el problema trata de resolver la
integral:
1 b
I1 h( x)dx , pero generalmente el problema es I 2 f ( x)dx , esta última integral se puede
1 a
ba ba
transformar a la primera con el siguiente cambio de variable , x t , de acuerdo
2 2
ba
1
ha este cambio de variable resulta I 2 g (t )dt donde g (t ) f ( b 2 a t b 2 a ) .
2 1
k 1 j 1
jk
n n n
f ( x) f k ( x k xj j ) (
x x f (n)
( x ) x x j
n! xk x j
) , si integramos esta expresión tendremos:
k 1 j 1 j 1
jk
1 n 1 n 1 n
f ( x)dx f k ( xk x j )dx (
x x j x x j
f (n)
( x )
n! xk x j
)dx
1 k 1 1 j 1 1 j 1
jk
1 n 1 n
Polinomio de Legendre
El Polinomio de Legendre se puede obtener de dos maneras, una a través fórmula de recurrencia:
2n 1 n 1
n ( x) x n 1 ( x) n 2 ( x)
n n
0 ( x) 1
1 ( x) x
La otra forma es a partir de la ecuación diferencial ( x 2 1) y ' '2nxy ' n(n 1) y 0 , esta da como
solución la forma de Rodríguez del polinomio de Legendre:
1 d n ( x 2 1)n
n ( x) .
2n n! dx n
1
4. Si q (x) es un polinomio de grado menor o igual a n-1 se cumple que q ( x )
1
n ( x)dx 0 .
TEOREMA. Sean ( x1 ,..., xn ) las raíces del polinomio de Legendre de grado n, entonces se puede
integrar de forma exacta polinomios de grado menor o igual a 2n-1 con la siguiente fórmula de
cuadratura:
1 n 1 n
p( x)dx p A (
x x j
k k donde Ak xk x j
)dx .
1 k 1 1 j 1
jk
Si p (x) es de grado menor o igual a n-1, entonces la fórmula es exacta ya que el error de
interpolación viene dado por:
n
(
p ( n ) ( x ) x x j
E ( x) n! xk x j
) 0.
j 1
1 n
Lo que indica que la integración es exacta, luego p( x)dx pk Ak .
1 k 1
Si p (x) es de grado menor o igual a 2n-1 y de grado mayor o igual a n, se puede decir
que p ( x) n ( x)q ( x) r ( x) , integrando esta última expresión se tiene:
1 1 1 1 n
1 n
Además p ( xk ) r ( xk ) , luego p( x)dx pk Ak .
1 k 1
1 (1) m 2
1
x dx A1 x1 A2 x2 A3 x3 An xn
m m m m m
, esto determina el sistema de ecuaciones:
1
m 1
1 1 1 A1 2
x1 x2 xn A2 0
La solución de este sistema nos da los Ak
n 1 1 ( 1) n1
x n 1
xnn 1 An n
1 x 2
Algoritmo
b
1. Ingresar f , a, b, n , para integrar I f ( x)dx.
a
1
2. Convertir I b 2 a g (t )dt donde g (t ) f ( b 2 a t b 2 a ) .
1
n
5. I ba
2 g
k 1
k Ak .
BIBLIOGRAFÍA
Bathe Klaus-Jurgen, “Finite Element Procedure in Engineering Análisis”, Prentice Hall, Inc.,
Englewood Cliffs, New Yersey, Estados Unidos de Norte América,1982.
Burden Richard, Faires Douglas, “Análisis Numérico” Internacional Thomson Editores, sexta
edición, México, 1988.
Kincaid D., Cheney W., “Análisis Numérico” Addison Wesley Iberoamericana, sexta edición,
México, 1988.
Stoer J., Bulirsch R., “Introduction to Numérical Analysis”, Springer Verlag, segunda edición,
Estados Unidos de Norte América,1980.
ANEXO
Anexo I
El primer Programa está referido a la solución de un sistema vibratorio de un grado de libertad, el
cual es útil para el ingreso de registros sísmicos y simula la respuesta del sistema, el archivo
[Link].
load previo
caras1=[1 2 3 4;1 2 6 5;2 3 7 6;4 3 7 8;1 4 8 5;5 6 7 8];
ver1=[-1 -1 0;-1 1 0;1 1 0;1 -1 0;-1 -1 10;-1 1 10;1 1 10;1 -1 10];
ver2=[-3 -3 10;-3 3 10;3 3 10;3 -3 10;-3 -3 13;-3 3 13;3 3 13;3 -3 13];
acel=sacel';
u=t';
uu=t';
uuu=t';
figure(4)
clf
subplot(2,2,1)
hdl1=patch('faces',caras1,'vertices',[ver1(:,1) ver1(:,2)
ver1(:,3)],'FaceColor','r');
hdl2=patch('faces',caras1,'vertices',[ver2(:,1) ver2(:,2)
ver2(:,3)],'FaceColor','g');
hold on
set(gcf,'renderer','zbuffer');
grid on
view(30,30)
title('Sistema Masa-Resorte');
xlabel('X')
ylabel('Y')
zlabel('Z')
axis('equal')
axis('square')
axis([-10 10 -10 10 -1 15])
subplot(2,2,2)
grid on
ef=plot(0,0);
axis([min(u) max(u) min(acel) max(abs(acel))]);
grid on
title('Registro Sísmico');
xlabel('tiempo');
ylabel('aceleraciones del registro');
subplot(2,2,3)
ff=plot(0,0);
axis([min(uu) max(uu) min(x) max(abs(x))]);
grid on
title('desplazamiento vs. tiempo');
xlabel('tiempo');
ylabel('desplazamientos');
subplot(2,2,4)
gf=plot(0,0); %set(gca, 'Color', 'r');
axis([min(uuu) max(uuu) min(xx) max(abs(xx))]);
grid on
title('velocidades vs. tiempo');
xlabel('tiempo');
ylabel('velocidades');
for i=[Link]length(acel);
a=x(:,i);
aa=2*a;
ttt=[-3+aa -3 10;-3+aa 3 10;3+aa 3 10;3+aa -3 10;-3+aa -3 13;-3+aa 3 13;3+aa 3
13;3+aa -3 13];
ppp=[-1 -1 0;-1 1 0;1 1 0;1 -1 0;-1+aa -1 10;-1+aa 1 10;1+aa 1 10;1+aa -1 10];
set(hdl2,'vertices',[ttt(:,1) ttt(:,2) ttt(:,3)]);
set(hdl1,'vertices',[ppp(:,1) ppp(:,2) ppp(:,3)]);
set(ef,'xdata',u(:,1:i),'ydata',acel(:,1:i));
set(ff,'xdata',uu(:,1:i),'ydata',x(:,1:i));
set(gf,'xdata',uuu(:,1:i),'ydata',xx(:,1:i));
drawnow
end