Está en la página 1de 44

Mtodos numricos

bsicos para ingeniera


Con implementaciones en Matlab y Excel

Carlos Armando De Castro Payares

Asesoras en Matemticas, Fsica e Ingeniera


Asesoras en Matemticas, Fsica e Ingeniera 1
Mtodos numricos bsicos para ingeniera

Carlos Armando De Castro Payares. 2014.

Se permite su reproduccin con fines educativos y acadmicos, no lucrativos, dando crdito al


autor.

Bogot, Colombia.

https://sites.google.com/site/matematicasingenieria/

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 2
Mtodos numricos bsicos para ingeniera

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

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 3
Mtodos numricos bsicos para ingeniera

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/

1 http://es.wikipedia.org/wiki/An%C3%A1lisis_num%C3%A9rico

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 4
Mtodos numricos bsicos para ingeniera

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

La interpolacin lineal es la ms utilizada en el manejo de datos de tablas. Consiste


en trazar un recta entre cada par de los puntos de datos, razn por la cual tambin
es llamada interpolacin por trazadores lineales o splines de primer orden.
Consideremos un conjunto de datos ( )( ) ( ), entre dos puntos
consecutivos del conjunto de datos se puede trazar un segmento de recta:

Figura 1.1. Interpolacin lineal.

La pendiente de esta recta es ( ) ( ) y como pasa por el punto


inicial ( ) se tiene entonces la ecuacin de la recta que interpola entre ese par
de puntos es

( ) ( )

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


Asesoras en Matemticas, Fsica e Ingeniera 5
Mtodos numricos bsicos para ingeniera

Algoritmo 1.1: Interpolacin lineal en Matlab


Entradas: valor a interpolar x, vectores conteniendo los puntos X y Y.
Salidas: valor interpolado y.

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

Ejemplo 1.1. Termodinmica (Excel)

Una parte de la tabla de presin y temperatura de saturacin del agua es2:

P [kPa] T [C]
35 72.7
45 78.7

Necesitamos saber la presin requerida para que el agua se sature a una


temperatura de 75C, en la tabla vemos este valor no aparece explcito por lo que
debemos interpolar, entonces aplicando la ecuacin (1.1) donde x son las
presiones e y las temperaturas:

( )( )

Utilizando una hoja de Excel programada con la ecuacin (1.1) tenemos:

Tabla de datos Valor deseado x


x y 75
72.7 35 Interpolado y
78.7 45 38.83

2 http://www.engineeringtoolbox.com/saturated-steam-properties-d_101.html

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 6
Mtodos numricos bsicos para ingeniera

Y la grfica de esta interpolacin se muestra a continuacin:

50
45
40
35
30
25 Datos

20 Interpolado
15
10
5
0
72 74 76 78 80

Figura 1.2. Interpolacin de la tabla de saturacin del agua.

1.2. POLINOMIOS DE LAGRANGE

Este mtodo de interpolacin no se utiliza mucho en la prctica y lo pongo en


carcter informativo. Para ilustrar cmo funciona la interpolacin por polinomios
de Lagrange considrese un conjunto de datos de tres puntos
( )( )( ). El polinomio interpolador en este caso es

( )( ) ( )( ) ( )( )
( )
( )( ) ( )( ) ( )( )

Obsrvese que en el punto slo queda el primer trmino con su numerador


y denominador cancelndose entre s, por lo cual ( ) . Lo mismo sucede con
los dems puntos, por lo que se ve que el polinomio cumple con la condicin de
pasar por todos los puntos de datos. Generalizando, para n puntos de datos, el
polinomio de Lagrange es:

( )
( ) ( )
( )

Una forma mucho ms sencilla de ver la (1.2) es en forma de un algoritmo, el cual


se muestra escrito para Matlab en el algoritmo 1.1.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 7
Mtodos numricos bsicos para ingeniera

Algoritmo 1.2: Polinomios de Lagrange en Matlab


Entradas: valor a interpolar x, vectores conteniendo los puntos X y Y.
Salidas: valor interpolado y.

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

Ejemplo 1.2. Polinomios de Lagrange (Matlab)

Se tiene el conjunto de datos:

x y
1 1
2 3
3 -1
4 0
5 3
6 2

Corriendo el algoritmo 1.2 muestra el polinomio interpolador de Lagrange:

5
Lagrange
Datos
4

-1

-2
1 2 3 4 5 6

Figura 1.3. Polinomio de Lagrange interpolando los datos.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 8
Mtodos numricos bsicos para ingeniera

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:

( ( ) ) ( )

La idea es que la funcin f de aproximacin minimice el valor de R descrito por


(2.1). En el caso de una recta, se tiene

( ) ( )

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:

Los parmetros de la recta de aproximacin que minimiza R son entonces:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 9
Mtodos numricos bsicos para ingeniera


( )
( )


( ) ( )
( )

Algoritmo 2.1: Aproximacin lineal por mnimos cuadrados en Matlab


Entradas: vectores conteniendo los puntos X y Y.
Salidas: pendiente m e intercepto b de la recta de aproximacin.
function [m,b]=mincuadlin(X,Y)
n=numel(X);
A(2,2)=n;
B=zeros(2,1);
for i=1:n
A(1,1)=A(1,1)+X(i)^2;
A(1,2)=A(1,2)+X(i);
A(2,1)=A(2,1)+X(i);
B(1,1)=B(1,1)+X(i)*Y(i);
B(2,1)=B(2,1)+Y(i);
end
sol=A\B;
m=sol(1,1);
b=sol(2,1);

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

El coeficiente es el inverso de la pendiente de la recta de aproximacin, corriendo


el algoritmo 2.1 en Matlab se tiene:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 10
Mtodos numricos bsicos para ingeniera

Por lo que el coeficiente equivalente es 1/m = 68.97 W/m2C. La grfica de la recta


de aproximacin con los puntos de datos se muestra a continuacin:

16

14

12

10

4
300 400 500 600 700 800 900 1000

Figura 2.1. Aproximacin lineal por mnimos cuadrados en Matlab.

2.2. APROXIMACIN CON USO DE EXCEL

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.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 11
Mtodos numricos bsicos para ingeniera

Ejemplo 2.2. Temperatura de una placa al Sol (Excel)

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

Figura 2.2. Grfica de los datos del ejemplo.

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:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 12
Mtodos numricos bsicos para ingeniera

El resultado se muestra en la Figura 2.3, donde podemos observar la pendiente y el


intercepto de la recta de aproximacin siendo iguales al ejemplo 2.1:

18

16 y = 0.0145x + 0.9437
R = 0.9926
14

12

10

0
0 200 400 600 800 1000 1200

Figura 2.3. Aproximacin lineal en Excel.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 13
Mtodos numricos bsicos para ingeniera

3. ECUACIONES ALGEBRAICAS NO LINEALES

En ocasiones en el mbito de la ingeniera es necesario resolver ecuaciones no


lineales que no tienen solucin analtica o que es muy engorroso hallarlas. Para
estos casos, deben utilizarse mtodos de solucin numrica de ecuaciones como
los presentados en esta seccin.

3.1. MTODO DE PUNTO FIJO

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

( ) ( )

Hasta que la diferencia sea muy cercana a cero, para lo cual se


establece una tolerancia a criterio del usuario. En el algoritmo 3.1 se muestra el
algoritmo de punto fijo en pseudocdigo debido a que no hay forma de escribir un
cdigo en Matlab general para este mtodo.

Algoritmo 3.1: Mtodo de punto fijo (pseudocdigo)


Entradas: aproximacin inicial x0, tolerancia TOL
Salidas: valor x tal que f(x)=x

sw=1;
x1=x0;
while sw==1
x2=f(x1);
if abs(x2-x1)<=TOL
x=x2;
sw=0;
end
x1=x2;
end

Ejemplo 3.1. Mecnica de la fractura (Excel)

La ecuacin de factor de intensidad de esfuerzos para una placa de ancho w y


espesor t con una grieta en el borde de largo a es

( )

Donde Y es un factor geomtrico que depende del ancho de la placa y el tamao de


grieta, siendo:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 14
Mtodos numricos bsicos para ingeniera

[ ( ) ( ) ( ) ( ) ] ( )

La falla catastrfica de la placa se produce cuando el factor de intensidad de


esfuerzos K iguala o supera a la tenacidad a la fractura KIc, entonces el tamao de
grieta crtica es

( ) ( )

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) Y a (i+1) a (i+1) - a (i) Iteracin


0.250 2.103 0.987 0.737 1
0.987 3.684 0.322 -0.665 2
0.322 2.180 0.919 0.597 3

0.620 2.655 0.619 -0.001 118
0.619 2.654 0.620 0.001 119
0.620 2.655 0.620 0.000 120

La tabla muestra que la iteracin converge en 120 pasos al valor .

1.200
1.000
0.800
af [in]

0.600
0.400
0.200
0.000
0 20 40 60 80 100 120
Iteracin

Figura 3.1. Valor calculado de af en cada iteracin.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 15
Mtodos numricos bsicos para ingeniera

3.2. MTODO DE NEWTON-RAPHSON

Se utiliza para resolver ecuaciones de la forma ( ) . El mtodo de Newton se


obtiene de la serie de Taylor truncada en el primer trmino, recordando la serie de
Taylor para una funcin f alrededor de un punto tenemos:
( ) ( ) ( )( )

En el punto deseado para la solucin ( ) por lo que despejando x:


( )
( )

El mtodo consiste en elegir una aproximacin inicial y realizar la iteracin

( )
( )
( )

Hasta que la diferencia sea muy cercana a cero, para lo cual se


establece una tolerancia a criterio del usuario. En el algoritmo 3.2 se muestra el
algoritmo de Newton-Raphson en pseudocdigo debido a que no hay forma de
escribir un cdigo en Matlab general para este mtodo.

Algoritmo 3.2: Mtodo de Newton-Raphson (pseudocdigo)


Entradas: aproximacin inicial x0, tolerancia TOL
Salidas: valor x tal que f(x)=0
sw=1;
x1=x0;
while sw==1
x2=x1-f(x1)/f(x1);
if abs(x2-x1)<=TOL
x=x2;
sw=0;
end
x1=x2;
end

Ejemplo 3.2. Raz de polinomio (Excel)

Se desea resolver la ecuacin con tres cifras significativas,


entonces se tiene ( ) y ( ) . La iteracin es entonces

Se escoge una aproximacin inicial x0 = -10, entonces, una sencilla tabulacin en


Excel da la raz

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 16
Mtodos numricos bsicos para ingeniera

x(i) x(i+1) x(i+1)-x(i)


-10.000 -6.690 3.310
-6.690 -4.502 2.188
-4.502 -3.079 1.423
-3.079 -2.198 0.881
-2.198 -1.729 0.469
-1.729 -1.566 0.162
-1.566 -1.546 0.020
-1.546 -1.546 0.000

3.3. MTODO DE LA SECANTE

Se utiliza para resolver ecuaciones de la forma ( ) . El mtodo consiste en


elegir dos aproximaciones iniciales y realizar la iteracin

( )
( ) ( )
( ) ( )

Hasta que la diferencia sea muy cercana a cero, para lo cual se


establece una tolerancia a criterio del usuario. El mtodo de la secante tiene la
ventaja de que no se debe derivar la ecuacin, es una forma discretizada del
mtodo de Newton. En el algoritmo 3.3 se muestra el algoritmo del mtodo de la
secante en pseudocdigo debido a que no hay forma de escribir un cdigo en
Matlab general para este mtodo.

Algoritmo 3.3: Mtodo de la secante (pseudocdigo)


Entradas: aproximaciones iniciales x0, x1, tolerancia TOL
Salidas: valor x tal que f(x)=0
sw=1;
while sw==1
x2=x1-(x1-x0)*f(x1)/(f(x1)-f(x0));
if abs(x2-x1)<=TOL
x=x2;
sw=0;
end
end

Ejemplo 3.3. Raz de funcin trigonomtrica (Excel)

Se necesita resolver la ecuacin trigonomtrica ( ) ( ) entre


con tres cifras significativas. La iteracin en este caso es entonces

( ) ( )
( )
( ) ( ) ( ) ( )

Con una tabla de Excel programada con el mtodo de la secante se hallan las tres
soluciones .

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 17
Mtodos numricos bsicos para ingeniera

4. SISTEMAS DE ECUACIONES LINEALES

En muchas ocasiones en el ejercicio de la profesin nos encontramos con sistemas


de ecuaciones lineales algebraicas, muchos surgen al discretizar ecuaciones
diferenciales parciales, en la solucin de problemas de optimizacin y escenarios
varios; en la prctica los sistemas pueden ser muy grandes y su tratamiento
analtico llega a ser engorroso o imposible. En este captulo presento dos mtodos
numricos para solucionar estos problemas, todos los ejemplos son
implementados en Excel.

Todo sistema de ecuaciones lineales se puede escribir de forma matricial:

( )

La ecuacin (4.1) es para cada fila:

( )

Despejando la i-sima incgnita de (4.2) se tiene:

( )

( )

Los mtodos de Jacobi y de Gauss-Seidel presentados en esta seccin se basan en la


ecuacin (4.3), sin embargo, estos mtodos slo convergen y dan resultados
cuando la matriz [A] es diagonalmente dominante, es decir, se tiene que cumplir
para cada fila de la matriz lo siguiente:

| | ( )

Al igual que con los mtodos de solucin numrica de ecuaciones no lineales es


necesario hacer una suposicin inicial de la solucin e iterar; esta iteracin se hace
hasta que el residual sea menor a una tolerancia establecida a criterio del usuario,
el residual que se utiliza generalmente entre iteraciones es:

( ) ( )

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 18
Mtodos numricos bsicos para ingeniera

4.1. MTODO DE JACOBI

El mtodo de Jacobi consiste en hacer una suposicin inicial de la solucin e iterar


con los valores previos utilizando la ecuacin (4.3). La ecuacin que describe la
iteracin de Jacobi es:

( )

( )

En el algoritmo 4.1 se muestra el algoritmo del mtodo de Jacobi implementado en


Matlab.

Algoritmo 4.1: Mtodo de Jacobi en Matlab


Entradas: matriz A, vector b, aproximaciones iniciales x0, tolerancia TOL, iteraciones
mximas MAX.
Salidas: valor x tal que Ax=b, residual res, iteraciones it.

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

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 19
Mtodos numricos bsicos para ingeniera

4.2. MTODO DE GAUSS-SEIDEL

El mtodo de Gauss-Seidel consiste en hacer una suposicin inicial de la solucin e


iterar utilizando los valores previos de las incgnitas que no se han actualizado y
los valores de la iteracin actual de las incgnitas que ya se han iterado, todo esto
utilizando la ecuacin (4.3). La ecuacin que describe la iteracin de Gauss-Seidel
es:

( ) ( )

El mtodo de Gauss-Seidel tiene la ventaja de que converge mucho ms rpido que


el mtodo de Jacobi, lo cual veremos en el Ejemplo 4.1.

En el algoritmo 4.2 se muestra el algoritmo del mtodo de Gauss-Seidel


implementado en Matlab.

Algoritmo 4.2: Mtodo de Gauss-Seidel en Matlab


Entradas: matriz A, vector b, aproximaciones iniciales x0, tolerancia TOL, iteraciones
mximas MAX.
Salidas: valor x tal que Ax=b, residual res, iteraciones it.

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

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 20
Mtodos numricos bsicos para ingeniera

Ejemplo 4.1. Sistema 3X3 (Matlab y Excel).

Resolver el siguiente sistema de ecuaciones lineales utilizando los mtodos de


Jacobi y Gauss-Seidel implementados en Matlab y Excel:

[ ][ ] [ ] ( )

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

Figura 4.1. Residual en cada iteracin.

Es claro que la convergencia y precisin de Gauss-Seidel es mucho mejor que


Jacobi y por eso es que recomiendo el primero.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 21
Mtodos numricos bsicos para ingeniera

5. SISTEMAS DE ECUACIONES NO LINEALES

En ocasiones surgen sistemas de ecuaciones no lineales que deben resolverse,


como por ejemplo en intercambio de calor por radiacin entre cuerpos. Para
solucionar estos problemas existen mtodos iterativos, de los cuales presento el
mtodo que he utilizado ms en mi experiencia, tiene la ventaja de ser muy sencillo
de implementar tanto en Matlab como en Excel, sobre todo en este ltimo.

5.1. MTODO DE PUNTO FIJO MULTIVARIABLE

El mtodo de punto fijo multivariable es anlogo al caso mostrado en la Seccin


3.1, sirve para resolver un sistema de ecuaciones de la forma:

( )
( ) ( )

( )

El mtodo procede definiendo dos vectores x y F(x), tal que

[ ] ( ) [ ] ( )

Debe hacerse una aproximacin inicial de la solucin x0, y luego se hace la iteracin

( ) ( )

Hasta que el valor residual sea menor a la tolerancia definida por


el usuario. En el algoritmo 5.1 se muestra el algoritmo de punto fijo multivariable
en pseudocdigo debido a que no hay forma de escribir un cdigo en Matlab
general para este mtodo.

Algoritmo 5.1: Mtodo de punto fijo multivariable (pseudocdigo)


Entradas: vector aproximaciones iniciales x0, tolerancia TOL, iteraciones mximas MAX.
Salidas: vector solucin x, residual res.
sw=1;
x1=x0;
while sw==1
x2=f(x1);
if abs(x2-x1)<=TOL
x=x2;
sw=0;
end
x1=x2;
end

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 22
Mtodos numricos bsicos para ingeniera

Ejemplo 5.1. Transferencia de calor (Excel).

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.

Figura 5.1. Diagrama del sistema.

Las ecuaciones que modelan este sistema son:

( ) ( )( )( )
( )( )( ) ( ) ( )

( )( )( ) ( ) ( ) ( )

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:

( [ ( ) ( ) ])

( ( )( ) [( ) ( ) ])

Con la suposicin inicial:

Suposicin
inicial
T1 [K] T2 [K]
-11 0

Tenemos los resultados de 100 iteraciones:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 23
Mtodos numricos bsicos para ingeniera

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

Figura 5.2. Evolucin de las iteraciones.

Hay un asunto interesante ac, y es que la suposicin inicial no tiene sentido


fsico (no existe en el Universo -11 K de temperatura), de hecho, en este caso la
suposicin inicial se hizo a ensayo y error para que el sistema no se hiciera
inestable. Por ejemplo, con la siguiente suposicin inicial:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 24
Mtodos numricos bsicos para ingeniera

Suposicin
inicial
T1 [K] T2 [K]
300 300

El sistema no converge, como se puede observar en las siguientes grficas de


evolucin de las iteraciones:

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

Figura 5.3. Sistema inestable debido a suposicin inicial.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 25
Mtodos numricos bsicos para ingeniera

Hay una forma de hacer ms estable el mtodo? La respuesta es S, y es utilizando


un mtodo de punto fijo modificado.

5.2. MTODO DE PUNTO FIJO MODIFICADO

Es la misma idea del mtodo de Gauss-Seidel (Seccin 4.2) de utilizar en la


iteracin actual las variables ya actualizadas. La iteracin se hace de la siguiente
forma en este caso:

( )
( ) ( )

( )

Hasta que el valor residual sea menor a la tolerancia definida por


el usuario. Este mtodo as presenta convergencia mucho ms elevada que el
mostrado en la Seccin 5.1 y es el que personalmente recomiendo para la solucin
de sistemas de ecuaciones.

Ejemplo 5.2. El ejemplo 5.1 con el mtodo modificado (Excel).

Volvemos a solucionar el ejemplo 5.1, las iteraciones son:

( [ ( ) ( ) ])

( ( )( ) [( ) ( ) ])

Con la suposicin inicial:

Suposicin
inicial
T1 [K] T2 [K]
300 300

Los resultados son los siguientes:

Resultados
T1 [K] T2 [K] Residual Iteraciones
332.78 311.79 1.14E-13 100

Se observa claramente en esta ltima tabla de resultados y en las grficas de la


Figura 5.4 que el sistema es muy estable y converge de una manera mucho ms
rpida.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 26
Mtodos numricos bsicos para ingeniera

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

Figura 5.4. Evolucin de las iteraciones.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 27
Mtodos numricos bsicos para ingeniera

6. DERIVACIN E INTEGRACIN NUMRICAS

6.1. 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:

Figura 6.1. Curva discretizada.

Supngase que interesa la derivada en el punto ( ), tres formas de aproximar


la pendiente por recta en ese punto son:

| ( )

| ( )

| ( )

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


Asesoras en Matemticas, Fsica e Ingeniera 28
Mtodos numricos bsicos para ingeniera

6.3 es la ecuacin de diferencias finitas centrales, y se recomienda para hallar la


derivada en los puntos intermedios de una curva.

En el caso cuando las diferencias son constantes para


todo el dominio, las ecuaciones de diferencias finitas quedan

| ( )

| ( )

| ( )

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-)

La derivacin numrica tambin puede implementarse de forma muy sencilla en


tablas de Excel.

Ejemplo 6.1. Curvas SVAJ para levas (Excel)

Se tiene una tabla datos de la curva de movimiento de un seguidor de leva (ver


archivo de Excel que viene con el libro), determinar si la leva cumple con
condiciones de continuidad de las curvas de velocidad, aceleracin y sobre-
aceleracin (tambin conocida como jerk).

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 29
Mtodos numricos bsicos para ingeniera

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:

En las grficas se observan saltos en la velocidad y aceleracin, por lo cual se


deduce que este diseo de leva no es adecuado.

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]

Figura 6.2. Posicin del seguidor.

2.00

1.00

0.00
v [m/s]

0.0 0.5 1.0 1.5 2.0 2.5 3.0


-1.00

-2.00

-3.00

-4.00
t [s]

Figura 6.3. Velocidad del seguidor.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 30
Mtodos numricos bsicos para ingeniera

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]

Figura 6.4. Aceleracin del seguidor.

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]

Figura 6.5. Sobreaceleracin del seguidor.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 31
Mtodos numricos bsicos para ingeniera

6.2. MTODO DE LOS TRAPECIOS

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.

Figura 6.6. rea de un trapecio entre dos puntos de una curva.

El rea del trapecio es:

( )( ) ( )

El valor de la integral en un intervalo con n+1 puntos es entonces la suma


de las distintas reas por sub-intervalo:

( ) ( )

En el caso que el tamao de sub-intervalo sea un valor constante, la ecuacin


6.8 resulta

( ) ( ) ( )

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 32
Mtodos numricos bsicos para ingeniera

Otra forma de verlo, y ms fcil de programar en una hoja de Excel, es la siguiente:


el valor acumulado de la integral en el intervalo i (notado como Ii) es

( )( ) ( )

Y el valor I de la integral en el dominio de inters es el valor final acumulado de la


ecuacin 6.10. La ecuacin 6.10 puede ponerse fcilmente en trminos de frmula
de celdas en una hoja de Excel, descargar el archivo de Excel de la pgina donde se
descarga el libro para ver el ejemplo 6.2 resuelto en Excel.

La implementacin en Matlab del mtodo de los trapecios con la ecuacin 6.10 se


muestra en el algoritmo 6.2.

Algoritmo 6.2: Mtodo de los trapecios en Matlab


Entradas: valor inicial de la integral I0, vectores conteniendo los puntos X y Y.
Salidas: vector con el valor acumulativo de la integral, I.

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-');

Ejemplo 6.2. Mecnica de la fractura (Excel)

El crecimiento de una grieta en el borde de una placa por ciclo de esfuerzos viene
dado por la ecuacin de Paris

( ) ( )

Donde N es el nmero de ciclos, A y m son constantes del material, es la


diferencia de esfuerzos a tensin sobre la pieza y Y viene dado por la ecuacin
E3.2. Cuando se observa una grieta de tamao a0, el nmero de ciclos restante para
fractura catastrfica de la pieza se obtiene separando las variables e integrando la
ecuacin E6.1:

( )
( )

Supngase que se tiene la placa del ejemplo 3.1 con


, con una grieta inicial de . El nmero de ciclos restante
para falla es

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 33
Mtodos numricos bsicos para ingeniera


( [ ( ) ( ) ( ) ( ) ] )

Aplicando la ecuacin (6.2) en una hoja de Excel tenemos la grfica de crecimiento


de la grieta:

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]

Figura 6.7. Crecimiento de grieta calculado por integracin numrica.

Segn el valor final de la integral los ciclos de falla son:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 34
Mtodos numricos bsicos para ingeniera

7. ECUACIONES DIFERENCIALES CON VALOR INICIAL

Los mtodos numricos para ecuaciones diferenciales que se presentan aplican


para ecuaciones diferenciales ordinarias con condiciones iniciales de tipo

( )
( )
( )

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

El mtodo de Euler consiste en aproximar la derivada de la ecuacin 7.1 por


diferencias finitas como en la ecuacin 6.4, entonces la ecuacin diferencial resulta

( )

Por lo cual el valor de la funcin en el intervalo de tiempo n+1 es

( ) ( )

El mtodo de Euler tiene la desventaja de que se vuelve inestable y la solucin


diverge si el tamao de paso de tiempo es muy grande.

En el algoritmo 7.1 se muestra el algoritmo del mtodo de Euler en pseudocdigo


debido a que no hay forma de escribir un cdigo en Matlab general para este
mtodo.

Algoritmo 7.1: Mtodo de Euler (pseudocdigo)


Entradas: valor inicial y0, tiempo inicial t0, tamao de paso dt, nmero de puntos N
Salidas: valores y tal que dy/dt = f(t,y)

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

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 35
Mtodos numricos bsicos para ingeniera

Ejemplo 7.1. Mecnica de la fractura (Excel)

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

( ) [ ( ) ( ) ( ) ( ) ]

Y despejando se tiene el valor del tamao de la grieta al siguiente ciclo de


carga

( ) [ ( ) ( ) ( ) ( ) ]

( )
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:

Compare este resultado y la curva de crecimiento con los calculados por


integracin numrica en el ejemplo 6.2.

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]

Figura 7.1. Crecimiento de grieta calculado con el mtodo de Euler.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 36
Mtodos numricos bsicos para ingeniera

7.2. MTODO DE RUNGE-KUTTA DE ORDEN 4

Uno de los mtodos ms utilizados para resolver numricamente problemas de


ecuaciones diferenciales ordinarias con condiciones iniciales es el mtodo de
Runge-Kutta de cuarto orden, el cual proporciona un pequeo margen de error con
respecto a la solucin real del problema y es fcilmente programable en un
software para realizar las iteraciones necesarias. Hay variaciones en el mtodo de
Runge-Kutta de cuarto orden pero el ms utilizado es el mtodo en el cual se elige
un tamao de paso y un nmero mximo de iteraciones N tal que

( )

( )

( )

( )

( )

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.

Algoritmo 7.2: Mtodo de Runge-Kutta de orden 4 (pseudocdigo)


Entradas: valor inicial y0, tiempo inicial t0, tamao de paso dt, nmero de puntos N
Salidas: valores y tal que dy/dt = f(t,y)

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

Ejemplo 7.2. Velocidad en medios con arrastre (Excel)

La ecuacin diferencial que rige la velocidad v de un cuerpo de masa m y rea


proyectada A que cae en un medio de densidad es

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 37
Mtodos numricos bsicos para ingeniera

( )

El cuerpo adquiere su velocidad terminal de cada cuando no acelera ms, es decir,


la derivada de la velocidad es cero. De acuerdo a E7.2, la velocidad terminal terica
es

( )

Supngase una moneda con m = 0.010kg y A = 3.141610-4 m2, que cae de un


edificio, entonces = 1kg/m3. La velocidad terminal segn E7.3 es
. La iteracin de Runge-Kutta se hace como sigue para este caso
particular:

[ ( ) ]

[ ( ) ]

( )

( )

Tomando intervalo t=1s y velocidad inicial nula, se tiene el mtodo


implementado en una hoja de Excel con los valores en la tabla, y se muestra cmo
se desarrolla la velocidad en la figura 7.2:

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]

Figura 7.2. Velocidad de la moneda a medida que cae.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 38
Mtodos numricos bsicos para ingeniera

8. ECUACIONES DIFERENCIALES CON VALORES EN LA


FRONTERA

El mtodo numrico para ecuaciones diferenciales que se presenta aplica para


ecuaciones diferenciales de tipo:

( ) ( )

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. SOLUCIN POR DIFERENCIAS FINITAS

Este mtodo consiste en simplemente discretizar las derivadas por medio de


diferencias finitas (Seccin 6.1) para convertir la ecuacin diferencial en un
sistema algebraico que puede ser resuelto por cualquier de los mtodos de los
captulos 4 o 5.

La discretizacin de la doble derivada se hace usando la Ecuacin (6.4):

( ) ( )

Entonces la segunda derivada se discretiza como:

( )

Con este resultado y la Ec. (6.4), la ecuacin diferencial (8.1) se discretiza en el


punto i como:

( ) ( )

La Ecuacin (8.3) representa un sistema de ecuaciones cuyo tamao depende del


nmero de intervalos que queramos utilizar.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 39
Mtodos numricos bsicos para ingeniera

Ejemplo 8.1. Transferencia de calor bajo el suelo.

Considere que tenemos un terreno que absorbe efectivamente 800 W/m2 de


radiacin solar en su superficie, la cual intercambia calor con el ambiente a 293 K y
con un coeficiente de 10 W/m2K y con el cielo a 277 K y una emitancia de 0.8. A
una profundidad de 1.00 m la temperatura se conoce constante en 283 K y la
conductividad trmica del suelo es 2.2 W/m.K. Calcular la distribucin de
temperaturas bajo el suelo si est en estado estacionario.

Figura 8.1. Diagrama de la transferencia de calor en el suelo.

La ecuacin que modela la distribucin de temperaturas bajo el suelo en este caso


es la ecuacin de calor 1D en estado estacionario:

( )

Las condiciones de frontera son en el fondo:

( ) ( )

Y en la superficie es el balance de calor ( ):

( )
( ( )) ( ) ( ( ) ) ( )

Discretizamos primero el dominio de solucin, en este caso vamos a calcular las


temperaturas en 5 puntos (nodos) distanciados a 0.2 m cada uno (x = 0.2 m). El
diagrama se observa en la Figura 8.2:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 40
Mtodos numricos bsicos para ingeniera

Figura 8.2. Discretizacin del dominio del problema.

Tenemos entonces para la superficie la discretizacin de (E8.3):

( ) ( ) ( )

Escribindolo para una solucin por iteracin por mtodo de punto fijo modificado
(Seccin 5.2) tenemos:

[ ( )( )( ) ] ( )

Para los nodos 2 a 4 discretizamos (E8.1):

Escribindolo para una solucin por iteracin por mtodo de punto fijo modificado
(Seccin 5.2) tenemos:

( ) ( )

Y para el nodo 5:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 41
Mtodos numricos bsicos para ingeniera

Escribindolo para una solucin por iteracin por mtodo de punto fijo modificado
(Seccin 5.2) tenemos:

( ) ( )

Implementando las ecuaciones (E8.4) a (E8.6) en una hoja de Excel con la


suposicin inicial de que todas son 300 K tenemos los resultados:

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

La grfica muestra una distribucin lineal de la temperatura bajo el suelo como se


ve en la Figura 8.3:

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]

Figura 8.3. Distribucin de la temperatura bajo el suelo.

Y la evolucin de los residuales con cada iteracin se observa en la Figura 8.4:

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 42
Mtodos numricos bsicos para ingeniera

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

Figura 8.4. Evolucin del residual con las iteraciones.

BIBLIOGRAFA

- ANLISIS NUMRICO. Richard L. Burden, J. Douglas Faires.


- CALCULUS. Vol. 1 y 2. Tom Apostol.

SOBRE EL AUTOR

Carlos Armando De Castro es instructor en Asesoras en Matemticas, Fsica e


Ingeniera; adicionalmente es cofundador y director de investigaciones del Centro
de Investigacin en Modelos Naturales para el Ambiente y el Desarrollo CIMNAD.

Ingeniero mecnico egresado de la Universidad de los Andes de Bogot, Colombia,


donde estudi gracias a la beca Bachilleres por Colombia otorgada por Ecopetrol a
los mejores bachilleres del pas cada ao; ha visto cursos de posgrado en
Matemticas Aplicadas, Dinmica Computacional de Fluidos y Combustin;
adicionalmente, ha presentado ponencias en el VII Congreso Colombiano de
Mtodos Numricos, el Seminario Internacional Secado de Productos Agrcolas y el
I Congreso de Energa Sostenible.

Carlos Armando De Castro Payares


Asesoras en Matemticas, Fsica e Ingeniera 43
Mtodos numricos bsicos para ingeniera

ASESORAS EN MATEMTICAS, FSICA E INGENIERA

o Matemticas: lgebra, trigonometra, clculo diferencial, integral y


vectorial, ecuaciones diferenciales, lgebra lineal.

o Fsica: mecnica, elctrica y trmica, dinmica de aviones.

o Materias bsicas de Ingeniera: esttica, sistemas dinmicos, mecnica de


materiales, mecnica de fluidos.

o Materias avanzadas de Ingeniera Mecnica:termodinmica,


transferencia de calor, mecanismos, diseo mecnico, aerodinmica bsica.

o Mtodos numricos: uso de Matlab y Excel para solucin por medio de


mtodos numricos de diferentes problemas en materias avanzadas y
proyectos de grado.

o Clases de refuerzo en uso de Excel para estudiantes y profesionales.

Carlos Armando De Castro


Instructor Principal
Telfono: (+57) 312-636-9880
E-mail: cadecastro@gmail.com
Bogot, Colombia

Carlos Armando De Castro Payares

También podría gustarte