Documente Academic
Documente Profesional
Documente Cultură
CONTENIDO
PRLOGO ................................................................................................................................................ 3
1.
INTERPOLACIN .................................................................................................................... 4
1.1.
1.2.
2.
APROXIMACIN ...................................................................................................................... 8
2.1.
2.2.
3.
3.2.
3.3.
4.
4.2.
5.
5.2.
6.
6.2.
7.
7.2.
8.
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:
El anlisis numrico o clculo numrico es la rama de las matemticas que se
encarga de disear algoritmos para, a travs de nmeros y reglas matemticas
simples, simular procesos matemticos ms complejos aplicados a procesos del
mundo real.
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.
En este libro se muestran los mtodos numricos ms sencillos y tiles de
implementar en problemas comunes de ingeniera. En los temas presentados no se
hacen deducciones matemticas complejas o profundas ni discusiones largas sobre
el origen de los mtodos sino que se muestran stos con alguna sencilla forma de
visualizar la base matemtica detrs de ste (por qu funciona), se presenta un
algoritmo en lenguaje Matlab o en pseudocdigo, y luego se procede a ilustrar con
ejemplos implementados en Matlab o Excel.
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.
Todos los ejemplos hechos con Excel se anexan en el archivo descargable de la
pgina web https://sites.google.com/site/matematicasingenieria/
http://es.wikipedia.org/wiki/An%C3%A1lisis_num%C3%A9rico
1. INTERPOLACIN
En la prctica de la ingeniera se utilizan mucho las tablas de datos, como en el caso
de las tablas de propiedades en la termodinmica, por decir solo una. En la
mayora de los casos el dato que necesitamos no se encuentra explcito en la tabla
sino entre dos valores de sta, para lo cual es necesario estimarlo de entre los
valores que presenta la tabla en un proceso conocido como interpolacin.
La idea bsica de la interpolacin es hallar un polinomio o funcin que cumpla con
)(
)
pasar por todos los puntos de un conjunto de datos (
(
),y
poder estimar los valores entre ellos por medio del polinomio.
1.1.
INTERPOLACIN LINEAL
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.
La implementacin de la interpolacin lineal en Matlab teniendo en cuenta que es a
pedazos se muestra en el algoritmo 1.1.
Carlos Armando De Castro Payares
T [C]
72.7
78.7
)(
Tabla de datos
x
y
72.7
35
78.7
45
Valor deseado x
75
Interpolado y
38.83
http://www.engineeringtoolbox.com/saturated-steam-properties-d_101.html
Datos
20
Interpolado
15
10
5
0
72
74
76
78
80
1.2.
POLINOMIOS DE LAGRANGE
(
(
)(
)(
)
)
(
(
)(
)(
)
)
(
(
)(
)(
)
)
(
(
)
)
y
1
3
-1
0
3
2
-1
-2
2. APROXIMACIN
En ocasiones se tiene un conjunto de datos experimentales y se desea hallar una
funcin analtica que los represente de forma satisfactoria. Para ello es necesario
hacer una aproximacin de la funcin a los datos con el menor error posible.
2.1.
MNIMOS CUADRADOS
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
)
(
De donde surge el sistema de ecuaciones lineal:
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.
Ejemplo 2.1. Temperatura de una placa al Sol (Matlab)
Se tienen los siguientes datos de una prueba en la que se midi la diferencia de
temperatura de una placa expuesta al Sol y la ambiente, se desea aproximar por
medio de una recta para hallar un coeficiente de transferencia de calor
equivalente:
Rad. Sol. [W/m2] T [C]
300
5.4
350
6.5
450
7.1
500
8.1
600
9.5
800
12.3
1000
15.8
16
14
12
10
4
300
400
500
600
700
800
900
1000
2.2.
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.
200
400
600
800
1000
1200
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:
16
14
12
10
8
6
4
2
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
(
( )
( )
( )
( ) ]
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:
a(i)
0.250
0.987
0.322
0.620
0.619
0.620
Y
2.103
3.684
2.180
2.655
2.654
2.655
a (i+1)
0.987
0.322
0.919
0.619
0.620
0.620
a (i+1) - a (i)
0.737
-0.665
0.597
-0.001
0.001
0.000
Iteracin
1
2
3
118
119
120
1.200
af [in]
1.000
0.800
0.600
0.400
0.200
0.000
0
20
40
60
80
100
Iteracin
120
3.2.
MTODO DE NEWTON-RAPHSON
( )
( )(
y realizar la iteracin
)
( )
3.3.
x(i+1)
-6.690
-4.502
-3.079
-2.198
-1.729
-1.566
-1.546
-1.546
x(i+1)-x(i)
3.310
2.188
1.423
0.881
0.469
0.162
0.020
0.000
MTODO DE LA SECANTE
(
(
)
(
(
(
)
)
(
(
)
)
Con una tabla de Excel programada con el mtodo de la secante se hallan las tres
soluciones
.
Carlos Armando De Castro Payares
4.1.
MTODO DE JACOBI
4.2.
MTODO DE GAUSS-SEIDEL
][ ]
[ ]
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 GaussSeidel, tanto en la tabla como en la Figura 4.1:
1.00E+01
1.00E+00
1.00E-01
10
15
20
Residual
1.00E-02
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
(
)
(
)(
)(
)(
)(
)(
)(
)
)
(
(
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:
(
[
(
)(
) [(
(
)
) ])
) ])
Residual
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
2.00E+02
1.50E+02
1.00E+02
5.00E+01
0.00E+00
0
20
40
60
80
100
120
80
100
120
80
100
120
Iteracin
350.00
300.00
T1 [K]
250.00
200.00
150.00
100.00
50.00
0.00
0
20
40
60
Iteracin
350.00
300.00
T2 [K]
250.00
200.00
150.00
100.00
50.00
0.00
0
20
40
60
Iteracin
Residual
1.50E+02
1.00E+02
5.00E+01
0.00E+00
0
20
40
60
80
100
120
80
100
120
80
100
120
T1 [K]
Iteracin
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
0
20
40
60
Iteracin
400.00
350.00
T2 [K]
300.00
250.00
200.00
150.00
100.00
50.00
0.00
0
20
40
60
Iteracin
[
(
)(
) [(
) ])
) ])
Residual
4.00E+01
3.00E+01
2.00E+01
1.00E+01
0.00E+00
0
20
40
60
80
100
120
80
100
120
80
100
120
Iteracin
350.00
345.00
T1 [K]
340.00
335.00
330.00
325.00
320.00
0
20
40
60
Iteracin
322.00
320.00
318.00
T2 [K]
316.00
314.00
312.00
310.00
308.00
306.00
0
20
40
60
Iteracin
DIFERENCIAS FINITAS
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.
Para entender de una manera sencilla la discretizacin por diferencias finitas de
una derivada debe tenerse en cuenta la interpretacin geomtrica de la derivada
en un punto, que es la pendiente de la curva en el punto de inters. Considrense
tres puntos intermedios en una curva como se muestra en la figura 6.1:
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
Carlos Armando De Castro Payares
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.
El mtodo de derivacin por diferencias finitas implementado en Matlab se
muestra en el algoritmo 6.1.
Algoritmo 6.1: Derivacin numrica en Matlab
Entradas: vectores conteniendo los puntos X y Y.
Salidas: vector con el valor de las derivadas, df.
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:
x [m]
0.5
1.0
1.5
2.0
2.5
3.0
2.5
3.0
t [s]
0.00
-1.00
0.0
0.5
1.0
1.5
2.0
-2.00
-3.00
-4.00
t [s]
a [m/s^2]
10.00
5.00
0.00
0.0
0.5
1.0
1.5
2.0
2.5
3.0
2.5
3.0
-5.00
-10.00
-15.00
t [s]
100.00
50.00
0.00
-50.00 0.0
0.5
1.0
1.5
2.0
-100.00
-150.00
-200.00
-250.00
t [s]
6.2.
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.
Para entender el mtodo de los trapecios debe tomarse en cuenta la interpretacin
geomtrica de una integral como rea bajo la curva, siendo as, considrese el rea
de un trapecio entre dos puntos de una curva como se muestra en la figura 6.6.
)(
( )
es entonces la suma
( )
)
constante, la ecuacin
)(
) ] )
a [in]
0.5
0.4
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.
Nota: estos mtodos son generalizables a sistemas de ecuaciones diferenciales,
aplicando la discretizacin o mtodo de solucin a cada ecuacin del sistema por
separado y uniendo las soluciones a medida que se hallan.
7.1.
MTODO DE EULER
Y despejando
carga
) ]
) ]
a [in]
0.500
0.400
0.300
0.200
0.100
0.000
0
5000
7.2.
) ]
) ]
v [m/s]
25.00
20.00
15.00
10.00
5.00
0.00
0
10
15
20
t [s]
25
En el dominio
y con condiciones de frontera diversas tales como valor de
la primera derivada de y o valores de la funcin y conocidas en las fronteras 0 y L.
La solucin numrica muy til cuando se tienen ecuaciones diferenciales que no
pueden resolverse por los mtodos analticos o cuya solucin analtica es muy
engorrosa.
8.1.
( ))
):
(
) (
( ) )
) (
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:
(
Temperatura [K]
330.00
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]
Residual
3.00E+01
2.50E+01
2.00E+01
1.50E+01
1.00E+01
5.00E+00
0.00E+00
0
10
15
20
25
Iteracin
BIBLIOGRAFA
-
SOBRE EL AUTOR