Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodos Numericos Basicos para Ingenieria PDF
Metodos Numericos Basicos para Ingenieria PDF
Bogot, Colombia.
https://sites.google.com/site/matematicasingenieria/
CONTENIDO
PRLOGO ................................................................................................................................................ 3
1. INTERPOLACIN .................................................................................................................... 4
1.1. INTERPOLACIN LINEAL ........................................................................................... 4
1.2. POLINOMIOS DE LAGRANGE .................................................................................... 6
2. APROXIMACIN ...................................................................................................................... 8
2.1. MNIMOS CUADRADOS ................................................................................................ 8
2.2. APROXIMACIN CON USO DE EXCEL ..................................................................10
3. ECUACIONES ALGEBRAICAS NO LINEALES ...............................................................13
3.1. MTODO DE PUNTO FIJO .........................................................................................13
3.2. MTODO DE NEWTON-RAPHSON ........................................................................15
3.3. MTODO DE LA SECANTE ........................................................................................16
4. SISTEMAS DE ECUACIONES LINEALES........................................................................17
4.1. MTODO DE JACOBI ...................................................................................................18
4.2. MTODO DE GAUSS-SEIDEL ....................................................................................19
5. SISTEMAS DE ECUACIONES NO LINEALES ................................................................21
5.1. MTODO DE PUNTO FIJO MULTIVARIABLE .....................................................21
5.2. MTODO DE PUNTO FIJO MODIFICADO .............................................................25
6. DERIVACIN E INTEGRACIN NUMRICAS ..............................................................27
6.1. DIFERENCIAS FINITAS ..............................................................................................27
6.2. MTODO DE LOS TRAPECIOS .................................................................................31
7. ECUACIONES DIFERENCIALES CON VALOR INICIAL .............................................34
7.1. MTODO DE EULER ....................................................................................................34
7.2. MTODO DE RUNGE-KUTTA DE ORDEN 4 ........................................................36
8. ECUACIONES DIFERENCIALES CON VALORES EN LA FRONTERA ...................38
8.1. SOLUCIN POR DIFERENCIAS FINITAS ..............................................................38
BIBLIOGRAFA ....................................................................................................................................42
SOBRE EL AUTOR ..............................................................................................................................42
ASESORAS EN MATEMTICAS, FSICA E INGENIERA ......................................................43
PRLOGO
Qu son y para qu sirven los mtodos numricos? Voy a tomar lo que dice
Wikipedia1:
Algo que falta en esa definicin es decir que son iterativos, prcticamente a prueba
y error. Usar los mtodos numricos nos facilita la vida, ya que simplifican los
problemas a simples clculos que puede hacer un computador, es ms, la mayora
de los problemas de ingeniera terminan siendo resueltos de esta forma y no
analticamente en un reguero de ecuaciones; sin embargo, se necesita que el
ingeniero que los est utilizando entienda lo que hay detrs de ellos y sepa lo que
est haciendo, ya que una persona capacitada puede saber si los resultados que
est recibiendo son vlidos y tienen sentido o son la respuesta dada por un mtodo
mal implementado o un algoritmo defectuoso.
Los mtodos numricos mostrados han sido utilizados por el autor en algn
momento en el desarrollo de sus estudios y carrera profesional. De forma
particular prefiero ilustrar el uso de Excel ya que es ste software y similares los
que se encuentran en las empresas, Matlab se concentra ms que nada en el
ambiente acadmico y es muy raro que la industria lo tenga, y este libro va dirigido
a los ingenieros actuales y futuros que se dediquen a laborar para el desarrollo
sostenible del planeta.
1 http://es.wikipedia.org/wiki/An%C3%A1lisis_num%C3%A9rico
1. INTERPOLACIN
( ) ( )
Hay que tener en cuenta que la interpolacin lineal se hace por pedazos y no
entrega un solo polinomio para todo el conjunto de datos.
function [y]=IntLineal(x,X,Y)
for i=1:numel(X)-1
if x>=X(i) && x<=X(i+1)
y=(Y(i+1)-Y(i))/(X(i+1)-X(i))*(x-X(i))+Y(i);
end
end
P [kPa] T [C]
35 72.7
45 78.7
( )( )
2 http://www.engineeringtoolbox.com/saturated-steam-properties-d_101.html
50
45
40
35
30
25 Datos
20 Interpolado
15
10
5
0
72 74 76 78 80
( )( ) ( )( ) ( )( )
( )
( )( ) ( )( ) ( )( )
( )
( ) ( )
( )
function [y]=PoliLagrange(x,X,Y)
y=0;
for i=1:numel(X)
L=1;
for j=1:numel(X)
if j~=i
L=L*(x-X(j))/(X(i)-X(j));
end
end
y=y+L*Y(i);
end
x y
1 1
2 3
3 -1
4 0
5 3
6 2
5
Lagrange
Datos
4
-1
-2
1 2 3 4 5 6
2. APROXIMACIN
Los mnimos cuadrados es un mtodo basado en minimizar el error entre los datos
y la funcin de aproximacin. Para un conjunto de datos
( )( ) ( ) , si ( ) es la funcin de aproximacin, la suma del
cuadrado de los errores es:
( ( ) ) ( )
( ) ( )
Para minimizar el error derivamos (2.2) respecto a los parmetros de la recta, por
lo que debe cumplirse , entonces
( )
( )
( )
( )
( ) ( )
( )
El algoritmo 2.1 puede ser hecho de otra forma, se deja al lector la optimizacin del
mismo como ejercicio. El anlisis hecho para la aproximacin por medio de una
recta puede hacerse de manera anloga para hallar los coeficientes de cualquier
funcin f que se quiera utilizar para aproximar.
16
14
12
10
4
300 400 500 600 700 800 900 1000
El software Excel tiene una ventaja muy grande y es que hace por s mismo las
aproximaciones a un conjunto de datos, desde lineales, cuadrticas o el grado de
polinomio que uno desee hasta aproximaciones por medio de logaritmos.
Hago nfasis en lo siguiente: las aproximaciones que hace Excel siguen la misma
filosofa presentada en la minimizacin del error de la seccin 2.1.
Con los mismos datos del Ejemplo 2.1, se grafican utilizando Insertar Grfico en
Excel y tipo de grfico Dispersin:
18
16
14
12
10
0
0 200 400 600 800 1000 1200
Se hace click derecho sobre alguno de los puntos y se selecciona Agregar lnea de
tendencia:
Una vez se hace esto aparece el cuadro que permite escoger el tipo de
aproximacin y da la opcin de mostrar la ecuacin de la funcin de aproximacin,
en este caso escogemos aproximacin lineal:
18
16 y = 0.0145x + 0.9437
R = 0.9926
14
12
10
0
0 200 400 600 800 1000 1200
El mtodo de punto fijo consiste en una forma iterativa de resolver una ecuacin
de la forma ( ) . El mtodo consiste en elegir una aproximacin inicial y
realizar la iteracin
( ) ( )
sw=1;
x1=x0;
while sw==1
x2=f(x1);
if abs(x2-x1)<=TOL
x=x2;
sw=0;
end
x1=x2;
end
( )
[ ( ) ( ) ( ) ( ) ] ( )
( ) ( )
Como el factor geomtrico Y depende de af, la ecuacin E3.3 debe resolverse por el
mtodo de punto fijo. La iteracin es entonces:
( )
[ ( ) ( ) ( ) ( ) ]
Se tiene un caso de una placa sujeta a tensin donde w = 2.5in, = 24.89ksi, KIc =
52ksiin. Se elige como aproximacin inicial a0 = 0.250in. Una hoja de Excel
programada para este caso particular con el mtodo de punto fijo entrega la
solucin con tres cifras decimales:
1.200
1.000
0.800
af [in]
0.600
0.400
0.200
0.000
0 20 40 60 80 100 120
Iteracin
( )
( )
( )
( )
( ) ( )
( ) ( )
( ) ( )
( )
( ) ( ) ( ) ( )
Con una tabla de Excel programada con el mtodo de la secante se hallan las tres
soluciones .
( )
( )
( )
( )
| | ( )
( ) ( )
( )
( )
function [x,res,it]=jacobi(A,b,x0,MAX,TOL)
sw=1;
x1=x0;
it=0;
n=numel(b);
while sw==1
for i=1:n
suma=0;
for j=1:i-1
suma=suma+A(i,j)*x1(j);
end
for j=i+1:n
suma=suma+A(i,j)*x1(j);
end
x2(i)=1/A(i,i)*(b(i)-suma);
end
Sres=0;
for i=1:n
Sres=Sres+(x2(i)-x1(i))^2;
end
res=sqrt(Sres);
if res<=TOL || it==MAX
x=x2;
sw=0;
else
x1=x2;
it=it+1;
end
end
( ) ( )
function [x,res,it]=gauss_seidel(A,b,x0,MAX,TOL)
sw=1;
x1=x0;
x2=x1;
it=0;
n=numel(b);
while sw==1
for i=1:n
suma=0;
for j=1:i-1
suma=suma+A(i,j)*x2(j);
end
for j=i+1:n
suma=suma+A(i,j)*x1(j);
end
x2(i)=1/A(i,i)*(b(i)-suma);
end
Sres=0;
for i=1:n
Sres=Sres+(x2(i)-x1(i))^2;
end
res=sqrt(Sres);
if res<=TOL || it==MAX
x=x2;
sw=0;
else
x1=x2;
it=it+1;
end
end
[ ][ ] [ ] ( )
La solucin en Matlab se obtiene corriendo los algoritmos 4.1 y 4.2 con MAX = 15 y
TOL = 1e-9; en Excel se obtiene programando una hoja de clculo (ver archivo
descargable), los resultados finales se resumen en la siguiente tabla:
EXCEL MATLAB
Solucin Jacobi Gauss Jacobi Gauss
x 1.472 1.472 1.472 1.472
y 0.051 0.051 0.051 0.051
z -0.468 -0.468 -0.468 -0.468
Iteraciones 15 15 15 15
Residual 9.63E-05 2.58E-08 5.00E-05 6.40E-09
Se observa que en Matlab los residuales son menores, esto es debido al sistema de
manejo de decimales de Matlab que es ms preciso que el de Excel; sin embargo, lo
ms interesante es observar los residuales entre el mtodo de Jacobi y el de Gauss-
Seidel, tanto en la tabla como en la Figura 4.1:
1.00E+01
1.00E+00
0 5 10 15 20
1.00E-01
1.00E-02
Residual
1.00E-03
Res. Jacobi
1.00E-04
Res. Gauss
1.00E-05
1.00E-06
1.00E-07
1.00E-08
Iteracin
( )
( ) ( )
( )
[ ] ( ) [ ] ( )
Debe hacerse una aproximacin inicial de la solucin x0, y luego se hace la iteracin
( ) ( )
Consideremos dos placas paralelas entre s, la placa superior recibe radiacin solar
equivalente de 1000 W/m2 con absortividad de 0.9 e intercambia calor con el
ambiente a 293K con coeficiente de conveccin de 10 W/m2K y con el cielo a 277K;
la placa inferior intercambia calor por conveccin a un medio a 300K con
coeficiente de conveccin de 15 W/m2K; las emitancias de las placas son de 0.9. Las
placas intercambian calor entre ellas por conveccin a 5 W/m2K y por radiacin.
( ) ( )( )( )
( )( )( ) ( ) ( )
( )( )( ) ( ) ( ) ( )
Calcular las temperaturas de las placas con las ecuaciones E5.1 y E5.2. Despejando
de E5.1 y E5.2 tenemos las ecuaciones para iterar:
( [ ( ) ( ) ])
( ( )( ) [( ) ( ) ])
Suposicin
inicial
T1 [K] T2 [K]
-11 0
Resultados
T1 [K] T2 [K] Residual Iteraciones
332.82 311.76 9.34E-02 100
4.00E+02
3.50E+02
3.00E+02
2.50E+02
Residual
2.00E+02
1.50E+02
1.00E+02
5.00E+01
0.00E+00
0 20 40 60 80 100 120
Iteracin
350.00
300.00
250.00
200.00
T1 [K]
150.00
100.00
50.00
0.00
0 20 40 60 80 100 120
Iteracin
350.00
300.00
250.00
200.00
T2 [K]
150.00
100.00
50.00
0.00
0 20 40 60 80 100 120
Iteracin
Suposicin
inicial
T1 [K] T2 [K]
300 300
2.00E+02
1.50E+02
Residual
1.00E+02
5.00E+01
0.00E+00
0 20 40 60 80 100 120
Iteracin
450.00
400.00
350.00
300.00
T1 [K]
250.00
200.00
150.00
100.00
50.00
0.00
0 20 40 60 80 100 120
Iteracin
400.00
350.00
300.00
250.00
T2 [K]
200.00
150.00
100.00
50.00
0.00
0 20 40 60 80 100 120
Iteracin
( )
( ) ( )
( )
( [ ( ) ( ) ])
( ( )( ) [( ) ( ) ])
Suposicin
inicial
T1 [K] T2 [K]
300 300
Resultados
T1 [K] T2 [K] Residual Iteraciones
332.78 311.79 1.14E-13 100
6.00E+01
5.00E+01
Residual 4.00E+01
3.00E+01
2.00E+01
1.00E+01
0.00E+00
0 20 40 60 80 100 120
Iteracin
350.00
345.00
340.00
T1 [K]
335.00
330.00
325.00
320.00
0 20 40 60 80 100 120
Iteracin
322.00
320.00
318.00
316.00
T2 [K]
314.00
312.00
310.00
308.00
306.00
0 20 40 60 80 100 120
Iteracin
La diferenciacin numrica es muy til en casos en los cuales se tiene una funcin
que es muy engorrosa de derivar, o en casos en los cuales no se tiene una funcin
explcita sino una serie de datos experimentales.
| ( )
| ( )
| ( )
Las ecuaciones 6.1 a 6.3 son llamadas diferencias finitas. La ecuacin 6.1 se
recomienda para hallar la derivada del punto inicial de una curva, la ecuacin 6.2
se recomienda para hallar la derivada del punto final de una curva, y la ecuacin
| ( )
| ( )
| ( )
La ecuacin 6.4 se recomienda para hallar la derivada del punto inicial de una
curva, la ecuacin 6.5 se recomienda para hallar la derivada del punto final de una
curva, y la ecuacin 6.6 se recomienda para hallar la derivada en los puntos
intermedios de una curva.
function [df]=derivada(X,Y)
N=numel(X);
df(1)=(Y(2)-Y(1))/(X(2)-X(1));
df(N)=(Y(N)-Y(N-1))/(X(N)-X(N-1));
for n=2:N-1
df(n)=(Y(n+1)-Y(n-1))/(X(n+1)-X(n-1));
end
plot(X,df,k-)
Teniendo tabulados los datos de tiempo y posicin podemos calcular con las
ecuaciones (6.4) a (6.6) la velocidad, aceleracin y sobreaceleracin de forma
numrica:
1.80
1.60
1.40
1.20
1.00
x [m]
0.80
0.60
0.40
0.20
0.00
0.0 0.5 1.0 1.5 2.0 2.5 3.0
t [s]
2.00
1.00
0.00
v [m/s]
-2.00
-3.00
-4.00
t [s]
20.00
15.00
a [m/s^2] 10.00
5.00
0.00
0.0 0.5 1.0 1.5 2.0 2.5 3.0
-5.00
-10.00
-15.00
t [s]
300.00
250.00
200.00
150.00
100.00
j [m/s^3]
50.00
0.00
-50.00 0.0 0.5 1.0 1.5 2.0 2.5 3.0
-100.00
-150.00
-200.00
-250.00
t [s]
La integracin numrica es muy til en casos en los cuales se tiene una funcin que
es muy engorrosa de integrar o que no posee anti-derivada, o en casos en los
cuales no se tiene una funcin explcita sino una serie de datos experimentales.
Aunque hay varios mtodos de integracin numrica, ac solo se mostrar en
mtodo de los trapecios, ya que es el ms sencillo de implementar y de entender.
( )( ) ( )
( ) ( )
( ) ( ) ( )
( )( ) ( )
function [I]=integral(I0,X,Y)
N=numel(X);
I(1)=I0;
for n=2:N
I(n)=I(n-1)+0.5*(Y(n)+Y(n-1))*(X(n)-X(n-1));
end
plot(X,I,'k-');
El crecimiento de una grieta en el borde de una placa por ciclo de esfuerzos viene
dado por la ecuacin de Paris
( ) ( )
( )
( )
( [ ( ) ( ) ( ) ( ) ] )
0.7
0.6
0.5
0.4
a [in]
0.3
0.2
0.1
0
0 5000 10000 15000 20000 25000 30000 35000 40000
N [ciclos]
( )
( )
( )
Estos mtodos son muy tiles cuando se tienen ecuaciones diferenciales que no
pueden resolverse por los mtodos analticos o cuya solucin analtica es muy
engorrosa.
( )
( ) ( )
y(1)=y0;
t(1)=t0;
for n=2:N
y(n)=y(n-1)+dt*f(t(n-1),y(n-1));
t(n)=t(n-1)+dt;
end
El crecimiento de una grieta en el borde de una placa por ciclo de esfuerzos viene
dado por la ecuacin de Paris (E6.1). Una forma de estimar el crecimiento de una
grieta con el nmero de ciclos diferente a la integracin numrica del ejemplo 6.2
es resolviendo la ecuacin E6.1 por el mtodo de Euler, en este caso se tiene la
ecuacin diferencial discretizada
( ) [ ( ) ( ) ( ) ( ) ]
( ) [ ( ) ( ) ( ) ( ) ]
( )
Implementando en una hoja de Excel la ecuacin (E7.1) tenemos la curva de
crecimiento de grieta (Figura 7.12) y la solucin del nmero de ciclos para falla:
0.700
0.600
0.500
0.400
a [in]
0.300
0.200
0.100
0.000
0 5000 10000 15000 20000 25000 30000 35000 40000
N [ciclos]
( )
( )
( )
( )
( )
Para k = 0,, N-1. La solucin se da a lo largo del intervalo (to, to+ N). En el
algoritmo 7.2 se muestra el algoritmo del mtodo de Runge-Kutta de orden 4 en
pseudocdigo parecido a MATLAB, debido a que no hay forma de escribir un
cdigo en MATLAB general para este mtodo.
y(1)=y0;
t(1)=t0;
for n=2:N
k1=dt*f(t(n-1),y(n-1));
k2=dt*f(t(n-1)+dt/2,y(n-1)+k1/2);
k3=dt*f(t(n-1)+dt/2,y(n-1)+k2/2);
k4=dt*f(t(n-1)+dt,y(n-1)+k3);
y(n)=y(n-1)+1/6*(k1+2*k2+2*k3+k4);
t(n)=t(n-1)+dt;
end
( )
( )
[ ( ) ]
[ ( ) ]
( )
( )
30.00
25.00
20.00
v [m/s]
15.00
10.00
5.00
0.00
0 5 10 15 20 25
t [s]
( ) ( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
( )
( ( )) ( ) ( ( ) ) ( )
( ) ( ) ( )
Escribindolo para una solucin por iteracin por mtodo de punto fijo modificado
(Seccin 5.2) tenemos:
[ ( )( )( ) ] ( )
Escribindolo para una solucin por iteracin por mtodo de punto fijo modificado
(Seccin 5.2) tenemos:
( ) ( )
Y para el nodo 5:
Escribindolo para una solucin por iteracin por mtodo de punto fijo modificado
(Seccin 5.2) tenemos:
( ) ( )
Resultados
x [m] T [K]
0.0 332.96
0.2 322.97
0.4 312.97
0.6 302.98
0.8 292.99
1.0 283.00
Iteraciones 20
Residual 2.44E-03
340.00
330.00
Temperatura [K]
320.00
310.00
300.00
290.00
280.00
0.0 0.2 0.4 0.6 0.8 1.0 1.2
Profundidad x [m]
4.00E+01
3.50E+01
3.00E+01
2.50E+01
Residual
2.00E+01
1.50E+01
1.00E+01
5.00E+00
0.00E+00
0 5 10 15 20 25
Iteracin
BIBLIOGRAFA
SOBRE EL AUTOR