DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

84
UNIVERSIDAD NACIONAL "PEDRO RUÍZ GALLO" FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS ESCUELA PROFESIONAL DE MATEMÁTICA "DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE ECUACIONES DIFERENCIALES PARCIALES PARABÓLICAS" TESIS Para Optar el Título Profesional de Licenciado en Matemáticas PRESENTADO POR: Bach. Mat. Cabrera Santamaría Marco Antonio Bach. Mat. Tenorio Retis lsaias Eleuterio ASESOR: Dr. Carpena Velásquez Enrique Lambayeque - Perú Marzo 2015

Transcript of DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Page 1: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

UNIVERSIDAD NACIONAL

"PEDRO RUÍZ GALLO"

FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS

ESCUELA PROFESIONAL DE MATEMÁTICA

"DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE

ECUACIONES DIFERENCIALES PARCIALES PARABÓLICAS"

TESIS

Para Optar el Título Profesional de

Licenciado en Matemáticas

PRESENTADO POR:

Bach. Mat. Cabrera Santamaría Marco Antonio

Bach. Mat. Tenorio Retis lsaias Eleuterio

ASESOR:

Dr. Carpena Velásquez Enrique

Lambayeque - Perú

Marzo 2015

Page 2: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

UNIVERSIDAD NACIONAL

"PEDRO RUIZ GALLO"

FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS

ESCUELA PROFESIONAL DE MATEMÁTICA

"DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE

ECUACIONES DIFERENCIALES PARCIALES PARABOLICAS"

Tesis

Para optar el título profesional de

Licenciado en Matemáticas

presentado por:

Bach. Mat. Cabrera Santamaria Marco Antonio Bach. Mat. Tenorio Retis Isaias Eleuterio

Asesor

Dr. Cárpena Velásquez Enrique

Lambayeque - Perú

Marzo 2015

Page 3: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Universidad Nacional Pedro Ruiz Gallo

Escuela Profesional De Matemática

Los firmantes, por la presente certifican que han leído y recomiendan a la Facultad de

Ciencias Físicas y Matemáticas la aceptación de la tesis titulada "Diferencias finitas

asistido con MATLAB en la solución de Ecuaciones Diferenciales Parciales Paraboli­

cas" , presentado por el Bach. Mat. Cabrera Santamaria Marco Antonio y el Bach. Mat.

Tenorio Retis Isaias Eleuterio en el cumplimiento parcial de los requisitos necesarios

para la obtención del título profesional de Licenciado en Matemáticas.

Cuti Gutierrez Raul

Presidente Jurado de Tesis

Cornetero Capitan Juan Antonio

Secretario Jurado de Tesis

Valdivia Velasquez Segundo Leonardo

Vocal Jurado de Tesis

Fecha de defensa: Marzo - 2015

Page 4: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Universidad Nacional Pedro Ruiz Gallo

Facultad de Ciencias Físicas y Matemáticas

Escuela Profesional de Matemática

"DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE

ECUA ClONES DIFERENCIALES PARCIALES PARABOLICAS"

Bach. Mat. Cabrera Santamaria Marco Antonio

Autor

Bach. Mat. Tenorio Retis Isaias Eleuterio

Autor

Dr. Cárpena Velásquez Enrique

Asesor

Lambayeque - Perú

Marzo del 2015

Page 5: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

AGRADECIMIENTOS

A Dios nuestro supremo creador;

Por cuidarnos y guiar nuestros pasos.

Por su infinito amor y sus bendiciones

derramadas sobre nuestras familias y seres queridos

A mis queridos padres: Yolanda y Santos, por su amor,

abnegación, constancia y corrección, las cuales me han

convertido en una persona con principios y espíritu de lucha.

Isaias Eleuterio Tenorio Retis

A mis amados padres: Marco y María. Gracias

por su apoyo inquebrantable e incondicional, por sus

consejos certeros y su gran amor.

Marco Antonio Cabrera Santamaría

Al Dr. Enrique Cárpena Velásquez un gran amigo

y profesor que conocimos en las aulas universitarias de la

UNPRG. Gracias por su excelente asesoramiento académico,

sin el cual el presente trabajo no hubiera sido posible

Page 6: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

DEDICATORIA

La presente tesis se la dedico a Dios

quien me ha dado la fortaleza y la vida,

a mis padres, por su amor, trabajo y sacrificio

en todos estos años, gracias a ustedes he logrado

llegar hasta aquí y convertirme en lo que soy,

A mis compañeros y amigos presentes y pasados,

quienes sin esperar nada a cambio compartieron

su conocimiento, alegrías y tristezas y a todas

aquellas personas que durante estos cinco años

estuvieron a mi lado apoyándome y lograron

que este sueño se haga realidad.

Isaias Eleuterio Tenorio Retis

Este proyecto de tesis dedico a Dios con toda la

humildad que de mi corazón puede emanar; porque

ha estado conmigo a cada paso que doy, cuidándome y

dándome fortaleza para continuar adelante.

A mis queridos padres; quienes me impulsaron a seguir

una carrera universitaria, Gracias a ellos e llegado a

mis objetivos trazados.

Marco Antonio Cabrera Santamaría

Page 7: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Resumen

En el presente trabajo de investigación se presenta la solución numérica de Ecuacio­

nes Diferenciales Parciales parabólicas asistidas con el software matemático Matlab. Se

aplican los métodos de diferencias finitas progresivas, diferencias finitas regresivas y el

método de Crank-Nicolson para hallar la solución más aproximada de una Ecuación Di­

ferencial Parcial parabólica, por lo que es necesario presentar el problema de una manera

puramente algebraica.

Se muestra ademas que los cálculos pueden hacerse por medio de paquetes matemáticos

como el Matlab o calculadora programables las cuales tienen importantes aplicaciones

en los cursos de Matemáticas y de la Ingeniería.

I

Page 8: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Abstract

In the present research the numerical solution is presented Parabolic Partial Differential

Equations assisted with the mathematical software Matlab. Progressive methods of fini­

te differences, finite difference regressive and Crank-Nicolson method is applied to find

the approximate solution of a Parabolic Partial Differential Equation, so it is necessary

to present the problem in a purely algebraic way.

It also shows that the calculations can be done by means of mathematical packages

such as Matlab or programmable calculator which have important applications in the

courses of Mathematics and Engineering.

II

Page 9: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Introducción

En la ciencia y tecnología se presentan fenómenos que habitualmente son modelados

por medio de Ecuaciones Diferenciales Parciales, las cuales muchas veces no pueden

ser resueltas mediante los métodos clásicos, motivo por el cual acudimos a los métodos

numéricos. Las Ecuaciones Diferenciales Parciales se clasifican en 3 grupos: Elípticas,

Parabólicas, Hiperbólicas; en el presente trabajo se trata sobre la solución numérica de

Ecuaciones Diferenciale Parciales parabólicas utilizando diferencias finitas asistido con

Matlab, las cuales permiten discretizar una ecuación y llegar a la solución mas aproxi­

mada.

El presente trabajo se ha dividido en 3 capítulos:

En el capitulo 1 se trata sobre unos tópicos de Algebra lineal tales como matrices,

determinantes. El uso de algunos comandos del software matemático Matlab y la solu­

ción de sistemas de ecuaciones lineales clásicas y numéricas.

En el capitulo 2 se hace un repaso de las Ecuaciones Diferenciales Parciales de segundo

orden, la solución clasica de la Ecuación Diferencial Parcial parabólica,diferencias finitas

y la definición de cuadrilla o malla.

En el capitulo 3 se trata la solución numérica de las Ecuaciones Diferenciales Parciales

parabólicas en sus formas: progresivas, regresivas y de Crank-Nicolson asistidas con el

software matemático Matlab.

Finalmente se da a conocer la bibliografia utilizada para el desarrollo del presente tra­

bajo. De igual forma se dan las conclusiones y sugerencias que los autores del presente

trabajo han creído conveniente.

III

Page 10: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

" .

Indice general

Resumen I

Abstract II

Introducción III

l. Métodos iterativos para la solución de sistemas de ecuaciones lineales 1

1.1. Matrices , Propiedades 1

1.2. Matrices Especiales 2

1.3. Determinantes . 5

1.4. Matlab . . . . . 8

1.5. Solución de Ecuaciones Lineales por métodos clásicos 13

1.6. Método de Jacobi . . . . . . . . . . 16

l. 7. El Método de Gauss-Seidel . . . . . 19

1.8. Gauss Seidel con Relajación (SOR) 21

2. Ecuaciones Diferenciales Parciales y Diferencias Finitas 24

2.1. Ecuaciones Semilineales de Segundo Orden . . . . . . . . . 24

2.2. Tipos de Ecuaciones Diferenciales parciales de Segundo Orden 26

2.3. Ecuación Diferencial Parcial Parabólica . 29

2.4. Malla o Cuadrilla . 31

2.5. Diferencias Finitas . . . . . . . . . 32

2.6. Método de separación de variables . 34

2.7. Transformada de Fourier . . . . . . 37

3. Ecuaciones Diferenciales Parciales Parabólicas de una Dimensión 40

3.1. Método de diferencias finitas progresivas 40

3.2. Método de diferencias finitas regresivas 52

IV

Page 11: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Índice general V

3.3. Método de Crank-Nicolson . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Conclusiones

Sugerencias

Bibliografia

71

72

73

Page 12: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Capítulo 1------

Métodos iterativos para la solución de

sistemas de ecuaciones lineales

1.1 Matrices , Propiedades

Definición 1.1.1. Una matriz Amxn es un arreglo rectangular de m x n números

dispuestos en m filas (renglones) y n columnas.

Así tenemos:

a u a12 ali aln

a21 a22 a2i a2n

Amxn= aíl ai2 aii a in

aml am2 amj amn

El símbolo mxn se lee: m por n.

El vector fila (ai1ai2 · · · aij · · · ain) se llama fila i, al vector columna se llama

columnaj

1

Page 13: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.2. Matrices Especiales

aii es el número que aparece en la i-ésima fila y la j-ésima columna.

~=plo 1.1. A ~ [ -: ] B=[23 1 5 o -2

A es una matriz de orden 3 x 1 , aii E R.

B es una matriz de orden 2 x 4 , bii E R.

C es una matriz de orden 3 X 2 , Cij E C.

NOTACIÓN

' C=

[

1- i

3+2~

2

4 + 2i l 1- 5i

3

Se denota las matrices por: Amxn=[~i] ó (aij) , i = 1, 2, ... ,m; j = 1, 2, ... , n donde aij

es la i-jésima entrada, i=fila, j= columna.

ORDEN DE UNA MATRIZ

El orden de una matriz está dado por el producto mxn, donde m indica el número de

filas y n el número de columnas.

El conjunto de matrices m x n con elementos aij E K se denota por Kmxn

1.2 Matrices Especiales

Las matrices especiales son:

A) Matriz Cuadrada:

Es aquella que tiene igual número n de filas que de columnas (n=m). En ese caso se

dice que la matriz An = (aii) o [aij] es de orden n. Por ejemplo, la matriz

Page 14: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.2. Matrices Especiales 3

Es cuadrada de orden 3.

Denotaremos el conjunto de todas las matrices cuadradas de orden n por Mn. Así, en

el ejemplo anterior, A E M3

B )Matriz Nula:

Una matriz es nula si todos sus elementos son iguales a cero.

Denotaremos por 8nxm

En el siguiente ejemplo se muestra la matriz nula 8 3x 2 de orden 3 x 2.

Más adelante veremos que la matriz nula, respecto a la adición y multiplicación de ma­

trices,juega un papel similar al número cero respecto a la adición y multiplicación de

números reales.

C) Matriz Diagonal:

Una matriz cuadrada A= (aii), es diagonal si aii =O, para i =!= j y :Ji, aii =/=O, 1 :::; i :::; n

. Es decir, si todos los elementos situados fuera de la diagonal principal son cero. Por

ejemplo, la siguiente matriz es diagonal:

1 o o o o

[ -1 o ~],A,~ o o o o o

Aa = ~ -2 o o 2 o o o o o o -1 o

o o o o o D)Matriz Identidad (Unidad):

La matriz cuadrada In es una matriz diagonal ,si y sólo si aii = O ; Vi =/= j 1\ aii = 1

;Vi =j.

Page 15: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.2. Matrices Especiales 4

1 o o o o 1 o o

In= o o 1 o

o o o 1

Ejemplo 1.2.

1 o o o o

J, = [ ~ ~ ] ,I, = [ ~ n ,J.=

1 o o o o o 1 o o o o 1 o o 1 ,!5 = o o 1 o o o o 1 o o o o o 1 o o o o 1 o o o o 1

E)MATRIZ TRIANGULAR:

E.1)La matriz cuadrada An es TRIANGULAR SUPERIOR si aii =O, Vi> j.

an a12 a1a a14

A4= o a22 a2a a24

o o aaa a34

o o o a44

E.2)La matriz cuadrada An es TRIANGULAR INFERIOR si aii = O, Vi < j.

an o o o

A4 = a21 a22 o o aa1 aa2 a33 o a41 a42 a43 a44

E)MATRIZ TRIDIAGONAL:

En diversas aplicaciones nos encontramos con sistemas Ax = z donde A es cuadrada

y sus elementos son todos nulos excepto los de la diagonal principal y algunas de las

paralelas a dicha diagonal. Estas matrices se denominan matriz banda.

Un caso particular de matrices banda son las matrices tridiagonales. Se llama matriz

tridiagonal a las matrices de las forma siguiente:

Page 16: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.3. Determinantes 5

a u a12 o o o a21 a22 a23 o o o a32 a33 o o

A=

o o o Un-1,n-1 Un-1,n

o o o Un,n-1 Un,n

Ejemplo 1.3.

1 4 o o 4 5 o o 6 7 o o 2 -9 o 3 4 1 o 8 3 -2 o 4 -8 3 o 7 -4 2

A= ,B= C= ,D= o 2 3 -4 o 7 6 1 ' o 9 -2 1 o 5 3

o o 1 3 o o 9 5 o o 8 4 o o 2

1.3 Determinantes

Definición 1.3.1. El determinante viene a ser una función que aplicada a una matriz

cuadrada da un único valor numérico. Sea Mnxn el conjunto de todas las matrices

cuadradas de orden n, entonces la definición queda de la siguiente manera:

1 1 : Afnxn --+ R ó C

A --+ IAI Notación:

Sea A una matriz cuadrada, entonces el determinante de la matriz A se representa por

IAI , det(A) o detA.

Determinante de una matriz cuadrada de orden 2.

Sea A una matriz cuadrada de orden 2x2:

Su determinante se define mediante la fórmula:

IAI=

o o 1

-5

Page 17: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.3. Determinantes

Ejemplo 1.4. Sea la matriz cuadrada de orden 2x2, A= [ 5 8

] hallar det A: 10 3

Solución.

IAI= 5 8 = 5(3) - 8(10) = 15 - 80 = -65 10 3

Determinante de una matriz cuadrada de orden 3.

Sea A una matriz cuadrada de orden 3x3.

A = [ ::: ::: ::: l a31 a32 · a33

Su determinante se define mediante la fórmula:

au a12 a13

6

IAI = a21 a22 a23 = aua22a33+ai2a23a3¡+a13a21a32-a31a22a13-a32a23au-a33a21al2·

a31 a32 a33

Ejemplo 1.5. Sea la matriz A= [! ~ ! ] , hallar det A.

1 2 3

IAI = 3 2 1 = 1(2)(3) + 2(1)(2) + 3(3)(1)- 2(2)(3)- 1(1)(1)- 3(3)(2) = -12.

2 1 3

Cálculo del determinante de orden n, por los adjuntos:

Cuando el orden de los determinantes es superior a 3 la regla de Sarrus no es fácilmente

aplicable y entonces utilizamos el método de los adjuntos, que reduce el orden en una

unidad cada vez que le utilizamos.

Para ello vamos a definir dos nuevos conceptos:

Menor complementario:

Dada una matriz An se llama menor complementario de un elemento aii al determinante

de la matriz, que resulta de suprimir la fila i y la columna j en la matriz An: se llama

ffiij·

Adjunto de un Elemento

Al producto de ( -1 )i+i por el menor complementario mii de aii se llama adjunto de un

elemento aii y se escribe Aij .

Page 18: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.3. Determinantes 7

A partir de estas definiciones obtenemos otra forma de calcular un determinante: el valor

de un determinante de orden n es igual a la suma de los productos de los elementos de

una fila o columna por sus respectivos adjuntos.

IAI = L~j=l ai,j·Aij = ailAil + ai2Ai2 + ai3Ai3 + · · · + ain·Ain

+atjAlj + a2jA2j + a3jA3j + · · · + anj·Anj

1 o 2 o

Ejemplo 1.6. Calcular el valor del determinante, A= 1 2 o 1

-1 1 4 -1

3 -1 -3 -2

Solución. Elegimos la primera fila ya que tiene dos elementos nulos y eso va a simpli­

ficar el cálculo: 1 o 2 o 1 2 o 1

= l.An + O.A12 + 2.A¡3 + O.A¡4 -1 1 4 -1

3 -1 -3 -2

2 o 1 1 2 1

=1.(-1)1+1. 1 4 -1 +O.m12 +2.(-1)1+3. -1 1 -1 +O.m14.

-1 -3 -2 3 -1 -2

Cuando llegamos a un determinante de orden tres, podemos aplicar Sarrus:

1[(-16)+(-3)-[(-4)+6]]+ 2[(-2)+1 + (-6)-[3+1+4]]=-51.

Propiedades:

l. Para toda matriz Anxn se tiene detA = det(At).

2. El determinante de una matriz Anxn cambia de signo si dos filas o dos columnas

se intercambian.

3. Si la matriz Bnxn se obtiene de la matriz Anxn trasladando una de sus filas o

columnas k lugares, entonces, IBI = ( -1)kiAI.

4. Si una matriz Anxn se tiene que una fila o columna es múltiplo de otra fila o

columna, entonces el determinante de dicha matriz vale CERO.

Page 19: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.4. Matlab 8

5. Si en una matriz Anxn todos los elementos de una matriz fila o columna son CEROS

entonces su determinante vale CERO.

6. Si una matriz Anxn todos los elementos de una fila o columna son múltiplos por

un escalar K, entonces el valor del determinante también queda multiplicado por

K.

7. Si a una fila o una columna de una matriz Anxn se le suma el múltiplo de otra fila

o columna, se tendrá que el valor del determinante Anxn no varía.

8. Si los elementos de una fila o columna cualquiera consta de dos términos, el de­

terminante puede expresarse como la suma de otros dos determinantes.

9. El determinante de la matriz identidad es igual a la unidad.

10. Sea D = [dij] una matriz diagonal de orden nxn, entonces IDI = d11 .d22.d33 ... dnn·

11. El determinante de una matriz triangular superior o triangular inferior es igual al

producto de los elementos de la diagonal principal.

12. En forma general el determinante de una suma de matrices es diferente de la suma

de los determinantes de cada matriz, es decir: det(A + B) = det(A) + det(B).

13. El determinante de un producto de matrices es igual al producto de los determi­

nantes de las matrices, es decir: det(AxB) = det(A)xdet(B).

1.4 Matlab

MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente inte­

grado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados

cálculos matemáticos y la visualización gráfica de los mismos. MATLAB integra análi­

sis numérico, cálculo matricial, proceso de señal y visualización gráfica en un entorno

completo donde los problemas y sus soluciones son expresados del mismo modo en que

se escribirían radicionalrnente, sin necesidad de hacer uso de la programación tradicional.

Page 20: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.4. Matlab

Matrices en Matlab:

Para introducir una matriz en Matlab se procede de la forma siguiente.

Ejemplo l. 7. tenemos la matriz.

Se introduce como:

O bien

2 3

6 7

>>A= [ 1 2 3 4

>>A= [ 1,2,3,4 ; 5,6,7,8];

9

Observemos que unas matrices especiales son los vectores, de esta forma, el vector fila

v = (1.0,1.1,1.2, ... ,2.0), se escribe en Matlab como:

>>V= [ 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0 ]

Operaciones y comandos para matrices:

Hemos visto cómo se introducen las matrices en Matlab. Veamos un ejemplo para in­

troducir algunos de los comandos básicos:

Ejemplo 1.8. Definimos dos matrices:

>>A= [ 2 1

A= 2 1

3 2

>> B = [ 3 4 -1

B= 3 4

-1 5

• Para sumas las 2 matrices:

>>A+B

5 5 ans=

2 7

5 ]

Page 21: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.4. Matlab

• Para multiplicar una matriz por un escalar:

• Producto de matrices:

ans= 6 3

9 6

>>C=A*B

C= 5 13 7 22

10

Siempre que los tamaños de las matrices sean los adecuados. Para saber cuál es

el tamaño de una matriz con la que estamos trabajando, se utiliza el siguiente

comando:

>> size(A)

ans = 2 2

Que quiere decir, evidentemente, 2 filas y 2 columnas.

• Para calcular la matriz transpuesta:

>>A

2 3 ans=

1 2

Matrices especiales con Matlab:

• Para generar la matriz identidad cuadrada:

>> eye(3)

1 o o ans = o 1 o

o o 1

• Una matriz 3 x 2 llena de unos:

> > ones(3, 2)

Page 22: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.4. Matlab 11

• Si queremos que esté llena de ceros:

> > zeros(3, 2)

• Para generar una matriz con números aleatorios uniformemente distribuidos entre

o y 1:

> > rand(3, 2)

Rango, Inversa y Determinante:

Definimos la matriz:

Ejemplo 1.9.

>>X= [ 2 3 4 1 -1 O ]

X= 2 3 4

1 -1 o Para calcular su rango:

>> rank(X)

ans= 2

Supongamos que tenemos definida la siguiente matriz:

Para calcular su inversa:

8 1 6

H= 3 5 7

4 9 2

>> inv(H)

0,1472 -0,1444 0,0639

ans = -0,0611 0,0222 0,1056

-0,0194 0,1889 -0,1028

Y si queremos ver el resultado en forma racional:

> > f ormatrational

>> inv(H)

53/360 -13/90 23/360

ans = -11/180 1/45 19/180

-7/360 17/90 -37/360

Page 23: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.4. Matlab 12

Para calcular el determinante de la matriz anterior H:

>> det(H)

ans = -360

Funciones matemáticas elementales:

sqrt(x) raiz cuadrada sin(x) seno

abs(x) módulo cos(x) coseno

conj(z) complejo conjugado tan(z) tangente

real(z) parte real asin(x) arcoseno

imag(z) parte imaginaria acos(x) arcocoseno

angle(z) argumento atan(x) arco tangente

exp(x) exponencial rats(x) aprox. racional

log(x) logaritmo natural rem(x,y) resto de dividir x por y

loglO(x) logaritmo decimal sign(x) signo (1 1 -1 1 O)

Funciones matriciales fundamentales:

B=A' Calcula la transpuesta( conjugada) de la matriz A.

B=A! Calcula la tranpuesta( sin conjugar) de la matriz A.

V= poly(A) Devuelve un vector V con los coeficientes del polinomio carácteristico

de la matriz cuadrada A.

t = trace(A) Devuelve la traza t(Suma de los elementos de la diagonal)

de una matriz cuadrada A.

[m,n] = size(A) Devuelve el número de filas m y de columnas n de una matriz rectangular A.

n = size(A) Devuelve el tamaño de una matriz cuadrada A.

nf = size(A,1) Devuelve el número de filas de A.

nc = size(A,2) Devuelve el número de columnas de A.

Page 24: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.5. Solución de Ecuaciones Lineales por métodos clásicos 13

1.5 Solución de Ecuaciones Lineales por métodos

clásicos

Sistema de Ecuaciones Lineales:

Un sistema de ecuaciones lineales es un conjunto de ecuaciones lineales de la forma:

a11x¡ + a12X2 + a 21 x 1 + a 22x 2 +

+ a¡nXn - b¡

+ a2nXn b2

En este caso tenemos m ecuaciones y n incógnitas. Los números reales aii se denominan

coeficientes y los Xi se denominan incógnitas (o números a determinar) y bi se denomi­

nan términos independientes.

Resolver el sistema consiste en calcular las incógnitas para que se cumplan TODAS

las ecuaciones del sistema simultáneamente. Diremos que dos sistemas son equivalentes

cuando tienen las mismas soluciones.

Expresión matricial de un sistema:

Cualquier sistema de ecuaciones lineales se puede expresar en forma matricial del modo:

a u a12 a¡n X¡ b¡

a21 a22 a2n X2 b2

aml am2 amn Xn bn

an a¡2 a¡n

La matriz A= a21 a22 a2n

se llama Matriz de Coeficientes.

aml am2 amn

Page 25: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.5. Solución de Ecuaciones Lineales por métodos clásicos 14

X1

~ ~ La matriz X= se llama matriz de incógnitas y La matriz B= se llama matriz

Xn

de términos independientes.

La matriz formada por A y B conjuntamente, es decir:

(AIB) =

Se llama matriz ampliada del sistema y se representa por (AIB) o por A*.

El sistema:

escrito matricialmente es:

Y la matriz ampliada es:

Tipos de Sistemas:

{

2x- y+ z = 1

x+y- 5z =4

X- 2y+ Z = 6

(AIB) = [ ~ -~ -~ ~ l 1 -2 1 6

En general, buscaremos las soluciones de los sistemas en los números reales. Dependiendo

del posible número de tales soluciones reales que tenga un sistema, estos de pueden

clasificar en:

l. IMCOMPATIBLE

2. COMPATIBLES: Tienen solución

Page 26: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.5. Solución de Ecuaciones Lineales por métodos clásicos

• DETERMINADOS

Solución única (S.C.D)

• INDETERMINADOS

Infinitas Soluciones (S.C.I)

Solución de un sistema de ecuaciones:

15

Es un conjunto de valores de las incógnitas que verifican simultáneamente a todas y

cada una de las ecuaciones del sistema.

De acuerdo con su solución, un sistema puede ser: Consistente, si admite solución; o

Inconsistente, si no admite solución. Un sistema Consistente puede ser: Determinado,

si la solución es única o Indeterminado, si la solución no es única, es decir, existe una

infinidad de soluciones.

Método de Gauss

Dado un Sistema de Ecuaciones Lineal Ax = b con A E Mnxn inversible, el principio

que rige el método de Gauss para la resolución del sistema se puede resumir en "la de­

terminación de una matriz inversible M tal que la matriz M A sea triangular superior" .

Este es el proceso llamado de eliminación. Una vez analizado este proceso se resolverá el

sistema triangular equivalente M Ax = Mb mediante el método de sustitución retrógra­

da.

En la práctica no se calcula M; sino directamente los productos M A y J\!!b.

El Método de Gauss se realiza en tres bloques:

l. Proceso de eliminación sucesiva de incógnitas, que equivale a la determinación de

una matriz M tal que M A sea triangular superior.

2. Cálculo del vector Mb; que se suele realizar simultáneamente al bloque l.

3. Resolución de sistema triangular M Ax = Mb por sustitución retrógrada.

Gauss normal:

El proceso de eliminación se realiza en ( n - 1) etapas: en cada etapa k - ésima se

obtienen ceros en la columna k por debajo de la diagonal principal. Así, partiendo de

A1 =A, en la etapa k- ésima se construye Ak+l a partir de Ak = (at).

Page 27: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.6. Método de Jacobi 16

Para poder realizar cada etapa k - ésima se exigirá (y esta es la característica esencial

de Gauss Normal) que:

a~k #-O ,Vk = 1, 2, ... , n

Etapa k- ésima Se hacen ceros en la columna k por debajo de la diagonal principal

restando a las filas i = k + 1, ... , n, la fila k multiplicada por afk-:::¡;;-akk"

Matricialmente, esto corresponde a hacer Ak+l = EkAk con:

1 o

1 k (det(Ek) = 1) ak+l k 1 -""""':F akk

a~,k o 1 --::k akk

o

Una vez realizadas las (n-1) etapas se tiene:

M donde es una matriz triangular superior, y simultáneamente:

1.6 Método de Jacobi

El método de Jacobi es un método iterativo para resolver sistemas de ecuaciones linea­

les más simples y se aplica sólo a sistemas cuadrados, es decir a sistemas con tantas

incognitas como ecuaciones.

l. Primero se determina la ecuación de recurrencia. Para ello se ordenan las ecua­

ciones y las incognitas. De la ecuación i se despeja la incógnita i. En notación

matricial se escribe como:

x = c+Bx

Page 28: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.6. Método de Jacobi 17

Donde x es el vector de incógnitas.

2. Se toma una aproximación para las soluciones y a ésta se le designa por x0

3. Se itera en el ciclo que cambia la aproximación

Ejemplo 1.10. Partiendo de (x=1, y=2) aplique dos iteraciones del método de jacobi

para resolver el sistema:

[~ + 2y - ~] 4y -

Solución

X 0,20 + O,OOx 0,40y

y 0,00 + 0,25x + O,OOy

[X]~ [0,20]+ [0,00 -0,40] [X] y 0,00 0,25 0,00 y

Aplicamos la primera iteración partiendo de x0 = 1,00 y y0 = 2,00:

X¡ 0,20 + 0,00(1,00) 0,40(2,00) - -0,60

Y1 = 0,00 + 0,25(1,00) + 0,00(2,00) 0,25

Aplicamos la segunda iteración partiendo de x1 = -0,60 y y1 = 0,25:

0,20 + 0,00( -0,60) 0,40(0,25)

0,00 + 0,25( -0,60) + 0,00(0,25) =

Aplicamos la siguiente iteración partiendo x2 = 0,10 y y2 = -0,15

0,10

-0,15

X3 - 0,20 + 0,00(0,10) 0,40( -0,15) 0,26

Y3 0,00 + 0,25(0,10) + 0,00( -0,15) 0,025

Aplicamos la siguiente iteración partiendo de X3 = 0,26 y y3 = 0,025:

X4 - 0,20 + 0,00(0,26) 0,40(0,025) - 0,190

Y4 0,00 + 0,25(0,26) + 0,00(0,025) 0,065

Page 29: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.6. Método de Jacobi 18

Aplicamos la siguiente iteración partiendo de x4 = 0,190 y y4 = 0,065:

X5 0,20 + 0,00(0,19) 0,40(0,065) 0,174

Y5 0,00 + 0,25(0,19) + 0,00(0,065) 0,0475

Aplicamos la siguiente iteración partiendo de x5 = 0,174 y y5 = 0,0475:

X6 - 0,20 + 0,00(0,174) 0,40(0,0475) - 0,181

Y6 0,00 + 0,25(0,174) + 0,00(0,0475) - 0,0435

Si uno dispone de una hoja de cálculo como excel es facil realizar los calculas anteriores:

i Xi Yi Xi+l Yi+l Di

o 1.000 2.000 -0.600 0.250 1.750

1 -0.600 0.250 0.100 -0.150 0.700

2 0.100 -0.150 0.260 0.025 0.175

3 0.260 0.025 0.190 0.065 0.070

4 0.190 0.065 0.174 0.047 0.017

5 0.174 0.074 0.181 0.043 0.007

6 0.181 0.043 0.182 0.045 0.001

Donde:

Este Di es utilizado como criterio de paro en las iteraciones. Cuando Di es menos que

cierto valor dado (Digamos 0.001) uno ya no realiza la siguiente iteración.

Convergencia y convergencia en Jacobi:

Uno de los principales problemas de los métodos iterativos es la garantía de que el

método va a converger, es decir, va a producir una sucesión de aproximaciones cada

vez efectivamente más proximas a la solución. En el caso del método de Jacobino existe

una condición exacta para la convergencia, Lo mejor es una condición que garantiza

la convergencia, pero en caso de no cumplirse puede o no haberla es la siguiente: si la

matriz de coeficientes original del sistema de ecuaciones es Diagonalmente Dominante,

el método de Jacobi seguro converge.

Matriz Diagonalmente Dominante:

Una matriz se dice matriz diagonalmente dominante, si en cada uno de los renglones,

el valor absoluto del elemento de la diagonal principal es mayor que la suma de los

valores absolutos de los elementos restantes del mismo renglon. A veces la matriz de un

Page 30: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

l. 7. El Método de Gauss-Seidel 19

sistema de ecuaciones no es diagonalmente dominante pero cuando se cambia el orden

de las ecuaciones y las incógnitas el nuevo sistema puede tener matriz de coeficientes

diagonalmente dominante.

Ejemplo 1.11. Son matrices diagonalmente dominante:

[ : ~ l , [ : ~ -~ ] ' [ -~ ~ ~ ] 3 2 9 3 2 -9

Ejemplo 1.12. No son matrices diagonalmente dominantes.

l. 7 El Método de Gauss-Seidel

El método de Gauss-seidel es muy semejante al método de Jacobi. Mientras que en el de

Jacobi se utiliza el valor de las incógnitas para determinar una nueva aproximación, en

el de Gauss-Seidel se va utilizando los valores de las incógnitas recien calculados en la

misma iteración, y no en la siguiente. Por ejemplo, en el método de Jacobi se obtiene en

el primer cálculo xi+l' pero este valor de x no se utiliza sino hasta la siguiente iteración.

En el método de Gauss-Seidel en lugar de eso se utiliza de xi+1 en lugar de xi en forma

inmediata para calcular el valor de Yi+l de igual manera procede con las siguientes

variables; siempre se utilizan las variables recien calculadas.

Ejemplo 1.13. Partiendo de (x = l,y = 2) aplique dos iteraciones del método de

Gauss-Seidel para resolver el sistema:

[5xx + 2y = 1]

- 4y = o

Debemos primeramente despejar de la ecuación la incógnita correspondiente.

Page 31: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

l. 7. El Método de Gauss-Seidel

x = 0,20 + O,OOx - 0,40y

y = 0,00 + 0,25x + O,OOy

Aplicamos la primera iteración partiendo de x 0 = 1,00 y Yo= 2,00:

X¡ = 0,20 + 0,00(1,000) - 0,40(2,00) = -0,60

Y1 = 0,00 + 0,25( -0,600) + 0,00(2,00) = -0,15

Aplicamos la segunda iteración partiendo de x1 = -0,600 y y1 = -0,15:

X2 = 0,20 + 0,00( -0,600) - 0,40( -0,15) = 0,26

Y2 = 0,00 + 0,25(0,26) + 0,00( -0,15) = 0,065

Aplicamos la tercera iteración partiendo de x2 = 0,26 y y2 = 0,065:

X3 = 0,20 + 0,00(0,26) - 0,40(0,065) = 0,174

Y3 = 0,00 + 0,25(0,174) + 0,00(0,174) = 0,0435

20

Ejemplo 1.14. Partiendo de (x = 1,y = 2,z = O) aplique dos iteraciones del método

de Gauss-Seidel para resolver el sistema:

[

10x + Oy

4x + 12y

4x + 4y +

z = -1] 4z = 8

lOz 4

Solución. Debemos primeramente despejar de la ecuación la incógnita correspondiente.

x -0,10 + O,OOx + O,OOy + O,lOz

y 0,66 - 0,33x + O,OOy + 0,33z

z 0,40 - 0,40x - 0,40y + O,OOz

Aplicamos la primera iteración partiendo de x0 = 1,00, y0 = 2,00 y z0 = 0,00.

X¡ -0,10 + 0,00(1,00) + 0,00(2,00) + 0,10(0,00) -0,10

Y1 0,66 - 0,33( -0,10) + 0,00(2,00) + 0,33(0,00) = 0,70

Z¡ - 0,40 - 0,40( -0,10) - 0,40(0,70) + 0,00(0,00) = 0,16

Aplicamos la segunda iteración partiendo de x1 = -0,10 , y1 = 0,70 y z1 = 0,16.

-0,10 + 0,00( -0,10) + 0,66 - 0,33( -0,084) + 0,40 - 0,40( -0,084) -

0,00(0,70) + 0,10(0,16)

0,00(0,70) + 0,33(0,16) = 0,40(0,748) + 0,00(0,16) =

-0,084

0,748

0,134

Aplicamos la tercera iteración partiendo de x 2 = -0,084 , Y2 = 0,748 y z2 = 0,134

-0,10 + 0,00( -0,084) +

Y3 - 0,66 0,33( -0,086) + 0,40 0,40( -0,086)

0,00(0,748)

0,00(0,748)

0,40(0,740)

+ 0,10(0,134) = + 0,33(0,134) -

+ 0,00(0,134)

-0,086

0,740

0,138

Page 32: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.8. Gauss Seidel con Relajación (SOR) 21

1.8 Gauss Seidel con Relajación (SOR)

Después de calcular un nuevo valor de x por la ecuación de Gauss Seidel, ese valor

se modifica por un promedio ponderado de los resultados de las iteraciones hechas con

Gauss Seidel, esto se conoce como técnica SOR o de relajación. El esquema es el siguiente:

P~-"t- 1 = (1 - w)p~. + wp~-"t- 1 t,J t,J t,J

El cuál debemos seguir los siguientes pasos:

l. Para hallar los valores de x en el sistema de ecuaciones empleo la ecuación funda­

mental.

2. Reemplazo el W dado inicialmente y obtengo un nuevo sistema de ecuaciones.

3. Reemplazo los valores iniciales, y empiezo a iterar hasta alcanzar un Ea menos a

la tolerancia dada.

Ejemplo 1.15. Resuelva el siguiente sistema de ecuaciones empleando el método de

Gauss Seidel Relajado (SOR).

6x + 2y + z - 22

-x + 8y + 2z - 30

x - y + 6z - 23

con un vector inicial (0, O, 0), y con un factor de relajación de W = 1,25.

Solución. debemos primeramente despejar de la ecuación la incógnita correspondiente.

X 3,67

y 3,75

z - 3,83

0,33y 0,17z

0,125x 0,25z

0,17x + 0,33y

Luego lo llevamos a la forma de la ecuación fundamental es decir:

Page 33: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.8. Gauss Seidel con Relajación (SOR)

Entonces tendremos :

X 3,67w 0,33yw 0,17zw + (1- w)x

y 3,75w + 0,125xw 0,25zw + (1- w)y

z - 3,83w 0,17xw + 0,33yw + (1- w)z

Reemplazamos el valor del W dado y obtengo el nuevo sistema de ecuaciones.

x - 3,67(1,25) 0,33y(1,25) 0,17z(1,25) + (1 -1,25)x

y = 3,75(1,25) + 0,125x(1,25) - 0,25z(1,25) + (1- 1,25)y

z = 3,83(1,25) - 0,17x(1,25) + 0,33y(1,25) + (1 - 1,25)z

Llevando a cabo la operación anterior se tiene que :

X = 4,5875 0,4125y 0,2125z 0,25x

y 4,6875 + 0,15625x 0,3125z 0,25y

z 4,7875 0,2125x + 0,4125y 0,25z

22

Empleo los valores iniciales para la primera operación, teniendo en cuenta que este

método trabaja de igual forma que Gauss Seidel.

X 4,5875 0,4125(0) 0,2125(0) 0,25(0)

X - 4,5875

y 4,6875 + 0,15625( 4,5875) 0,3125(0) 0,25(0)

y 5,4043

z 4,7875 0,2125( 4,5875) + 0,4125(5,4043) - 0,25(0)

z 6,0419

Empiezo a iterar hasta alcanzar un Error menor a la tolerancia dada. Realizamos la

tabla de iteraciones como se muestra a continuación.

iteración X Ea y Ea z Ea

o o o o 1 4.58 100.00 5.40 100.00 4.96 100.00

2 0.15 2913.11 1.81 198.62 3.90 27.37

3 2.98 94.89 3.48 48.05 3.92 0.67

4 1.57 89.79 2.84 22.80 4.07 3.74

5 2.16 27.32 3.04 6.78 3.96 2.98

6 1.95 10.71 3.00 1.58 4.02 1.57

7 2.01 2.92 3.00 0.04 3.99 0.70

8 2.00 0.47 3.00 0.23 4.00 0.26

Page 34: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

1.8. Gauss Seidel con Relajación (SOR) 23

Al llegar a este punto claramente podemos decir que el método iterativo con mayor

velocidad de convergencia es el del Gauss Seidel.

Page 35: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Capítulo 2------

Ecuaciones Diferenciales Parciales y

Diferencias Finitas

2.1 Ecuaciones Semilineales de Segundo Orden

Ecuación Diferencial:

Definición 2.1.1. Una ecuación diferencial es una ecuación en la que intervienen de­

rivadas de una o más funciones desconocidas. Dependiendo del número de variables

independientes respecto de las que se deriva, las ecuaciones diferenciales se dividen en:

Ecuaciones diferenciales ordinarias:

Definición 2.1.2. Son aquellas que contienen derivadas respecto a una sola variable

independiente.

Ecuaciones en derivadas parciales:

Definición 2.1.3. Son aquellas que contienen derivadas respecto a dos o más variables.

Orden de la ecuación:

Definición 2.1.4. El orden de la derivada más alta en una ecuación diferencial se

denomina orden de la ecuación.

24

HEIEROTECA·U~I.P.I.C

Page 36: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.1. Ecuaciones Semilineales de Segundo Orden 25

Grado de la ecuación:

Definición 2.1.5. Es la potencia de la derivada de mayor orden que aparece en la

ecuación, siempre y cuando la ecuación esté en forma polinómica, de no ser así se

considera que no tiene grado.

Ecuación diferencial lineal:

Se dice que una ecuación es lineal si tiene la siguiente forma.

an(x)yn + an-1(x)yn-1 + . . . a1(x)y' + ao(x)y - g(x)

Es decir:

l. Ni la función ni sus derivadas están elevadas a ninguna potencia distinta de uno o

cero.

2. En cada coeficiente que aparece multiplicándolas sólo interviene la variable inde­

pendiente.

3. Una combinación lineal de sus soluciones es también solución de la ecuación.

Ejemplo 2.1. y'= y es una ecuación diferencial ordinaria lineal de primer orden, tiene

como soluciones y= f(x) = kEx con k un número real cualquiera.

Ejemplo 2.2. y"+ y = O es una ecuación diferencial ordinaria lineal de segundo orden,

tiene como soluciones y= f(x) = acos(x) + bsen(x), con a y b reales.

Ejemplo 2.3. y"- y= O es una ecuación diferencial ordinaria lineal de segundo orden,

tiene como soluciones aEx + b-f; con a y b reales.

Ecuaciones cuasilineales

Definición 2.1.6. Una ecuación diferencial ordinaria de orden n se llama cuasilineal

si es lineal en la derivada de orden n. Más específicamente, si la ecuación diferencial

ordinaria para la función y(x)puede escribirse en la forma:

J (' n n-1 11 1 ·) _ 0 y ,y , ... ,y ,y,y,x-

Page 37: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.2. Tipos de Ecuaciones Diferenciales parciales de Segundo Orden 26

Ecuaciones semilineales

Definición 2.1.7. Una ecuación diferencial ordinaria de orden n se llama semilineal

si puede escribirse como suma de una función lineal de la derivada de orden n más

una función cualquiera del resto de derivadas. Formalmente, si la ecuación diferencial

ordinaria para la función y(x) puede escribirse en la forma:

f( n n-1 11 1 ) _ fA( n ) + ( n-1 1 ) y ,y , ... ,y ,y,y,x - y ,x g y , ... ,y,y,x

Ejemplo 2.4. La ecuación Ut = Uxxx + uux. u= u(x, t), x E R t E R.

Es una ecuación diferencial de tercer orden semilineal, ya que a pesar de no ser lineal por

el término uux la parte principal que es Uxxx es lineal. Esta escuación es conocida como

ecuación de Korteweg de vries y ella describe la propagación de ondas no lineales en

medios dispersivos no disipativos.

Ejemplo 2.5. La ecuación Ut + uux = kuxx· k constante u= u(x,t). x E R,

t > O. Es una ecuación diferencial de segundo orden semilineal y conocida como ecuación

de Burger. Esta ecuación es no lineal por causa del sumando uux; sin embargo es

semilineal porque la parte principal de la ecuación que es kuxx es lineal.

Ejemplo 2.6. La ecuación de Schrodinger ih8t'l/J = _!!_ó.'ljJ + V(x)'ljJ, donde 2m

'ljJ = '1/J(x, t), t E R y x E JR~><. Donde V(x) es una función con valores reales, h es

constante de Plank, m > O, i = J=I. Es una ecuación diferencial parcial de segundo

orden semilineal. Ella describe la interacción de una partícula cuántica de masa m con

potencial V(x). Ejemplo clásico del potencial V(x) es V(x) = iu(x, t)ik, k> O.

2.2 Tipos de Ecuaciones Diferenciales parciales de

Segundo Orden

Ecuaciones diferenciales parciales

Definición 2.2.1. Una ecuación en derivadas parciales o ecuación diferencial parcial

(E.D.P} es una ecuación que depende de una función desconocida de dos o más variables

independientes, es decir u = u(x1, x2 , x3 , •.. , xn) y sus derivadas parciales, donde u :

Page 38: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.2. Tipos de Ecuaciones Diferenciales parciales de Segundo Orden 27

U e JRn --+IR, U e JRn. Más precisamente, una ecuación diferencial parcial en n variables

independientes x1 , ... , Xn es una ecuación de la forma:

Donde:

X= (xl, ... , Xn) E 0 e JRn

F es una función desconocida

u es la solución de la ecuación (2.1)

El orden de una ecuación diferencial parcial está dado por la derivada de mayor orden

que está en la ecuación.

Ejemplo 2. 7. EDP de orden 1, se escribe:

au au F(x1, · · · , xn, u, -a , · · · , -a ) = O

Xl Xn

Ejemplo 2.8. EDP de orden 2, se escribe:

au au a2 a2u F(xl, ... 'Xn, u, -a ' ... '-a 'a 2' ... 'a 2) =o

X1 Xn X1 Xn

Se dice que una ecuación diferencial parcial es lineal si es de primer grado en u y en

todas las derivadas parciales que aparecen en la ecuación; caso contrario se dice que la

ED P es no lineal.

• La forma general de una ecuación lineal de primer orden es:

n

L ai(x)aiu + b(x)u + c(x) =O j=l

donde, algún aj =!=O , j = 1, ... , n Estas ecuaciones no tienen muchas aplicaciones

físicas, pero que plantean de forma sencilla los problemas de las de segundo or­

den. Veremos que pueden resolverse si es posible integrar una ecuación diferencial

ordinaria de primer orden, cuyas curvas integrales son llamadas características.

• La forma general ede una EDP lineal de segundo orden es:

n m n

L L aii(x)aiaiu + L bi(x)aiau + c(x)u + d(x) =O i=l j=l j=l

Donde, algún aij =!=O.

Page 39: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.2. Tipos de Ecuaciones Diferenciales parciales de Segundo Orden 28

• La parte de una EDP formada por los términos de mayor orden se llama parte

principal de la ecuación.

parte principal

• Las EDPs no lineales que tienen parte principal lineal se llaman semilíneales

82u 8

3u (au)

2

8x2 + 8x3 + ax + u = o

Ejemplo 2.9.

l. xux+yuy=O Primer orden, lineal.

Primer orden, no lineal.

3. Uxx + 2Uxy + Uyy = O Segundo orden, lineal.

4. Ut + UUx + Uxxx = O Tercer orden, semilineal.

Tipos de ecuaciones diferenciales parciales de segundo orden:

Las ecuaciones diferenciales parciales de segundo orden se clasifican habitualmente den­

tro de cuatro tipos de ecuaciones diferenciales parciales que son de interés fundamental

a continuación se dan ejemplos de estos cuatro tipos:

l. Elípticas: Las que no tienen derivada con respecto al tiempo son elípticas.

Ejemplo 2.10. Laplace Elíptica

Esta es una ecuación bidimensional, de segundo orden, lineal homogéneo y de

coeficientes constantes.

2. Parabólicas: las que tienen derivada con respecto al tiempo son parabólicas.

Ejemplo 2.11. Difusión parabólicas

au 2 82u 8t =e. 8x2

Page 40: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.3. Ecuación Diferencial Parcial Parabólica 29

Es la ecuación unidimensional de difusión del calor, de segundo orden, lineal,

homogénea y de coeficientes constantes.

3. Hiperbólicas: Las ecuaciones con segunda derivada con respecto al tiempo son

usualmente hiperbólicas.

Ejemplo 2.12. Onda hiperbólica.

82u 2 82u 8t2 =e· 8x2

Es la ecuación de onda unidimensional, que describe fenómenos de tipo oscilatorios

y es de segundo orden, lineal, homogénea y de coeficientes constantes.

2.3 Ecuación Diferencial Parcial Parabólica

Las ecuaciones que rigen la difusión de partículas en movimiento o la conducción del

calor, son ecuaciones diferenciales de tipo parabólico:

El problema del flujo calorífico de estado inestable es una situación física. El caso más

simple es para el flujo de calor en una sola dirección. Imagínese una varilla de sección

transversal uniforme y aislada alrededor de su perímetro, de manera que el calor solo

fluye longitudinalmente. Considérese una parte diferencial de la varilla de longitud dx

con una área de sección transversal A.

Sea u la temperatura en cualquier punto de la varilla, cuya distancia al extremo izquier­

do es x. El calor está fluyendo de izquierda a derecha bajo la influencia del gradiente de au temperatura ax.

Page 41: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.3. Ecuación Diferencial Parcial Parabólica

Area= A

() ~) o clx

Figura 2.1: Varilla de sección transversal

Rapidez de flujo del calor que entra:

Rapidez de flujo del calor que sale:

-KAau ax

-KA -+- - dx ( au a (au)) ax ax ax

30

La diferencia entre la rapidez de flujo que entra y que sale es la rapidez en la cual el

calor está siendo almacenado en el elemento. Si e es la capacidad calorífica caljg.C' y p

es la densidad g/ cm3 , se tiene con t para el tiempo.

-KA~:- (-KA(~:+ :x (~:)dx)) = Cp(Adx)~~ Simplificando, se tiene:

K82u =C 8u

8x2 p 8t

Este es el modelo matemático básico para el flujo de estado inestable. Se ha deducido

para el tipo de flujo calorífico, pero se amplía igualmente a la difusión de material,flujo

de fluidos, etc.

En dos o tres dimensiones espaciales, se aplica la ecuación análoga:

(82u 82u) au

K 8x2 + 8y2 = Cp 8t

( 82u 82u 82u) 8u

K 8x2 + fJy2 + 8z2 = Cp 8t

La función a la cual se le llama solución del problema, no sólo debe obedecer a la ecua­

ción diferencial que se dio antes, sino tambien debe satisfacer a una condición inicial y

a un conjunto de condiciones en la frontera. Para el problema de flujo calorífico unidi­

mensional será las temperaturas iniciales en todos los puntos a lo largo de la varilla.

Page 42: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.4. Malla o Cuadrilla 31

u(x, t)it=O = u(x, O)= f(x)

Las condiciones en la frontera describirán la temperatura en cada extremo de la varilla

como funciones del tiempo.

2.4 Malla o Cuadrilla

Cuando se resuelve numéricamente un problema de modelado continuo, es necesario

convertirlo de continuo a un conjunto finito de puntos. La selección de puntos es deter­

minada por la generación de mallas. En problemas simples, la malla puede ser elegida a

priori. Pero si el problema involucra una región compleja en un espacio bi o tridimensio­

nal, entonces el conjunto discreto de puntos de la región debe ser adaptada a la forma

de esa zona.

Definición 2.4.1. Una malla generada numéricamente es pensada como el conjunto

organizado de puntos formado por las intersecciones de las líneas de un sistema de coor­

denadas. La característica esencial de un sistema tal es que alguna línea coordenada (o

en tres dimensiones, alguna superficie coordenada} sea coincidente con cada segmento de

la frontera de la región física. El uso de intersecciones de líneas coordenadas para definir

los puntos de la malla proporciona una estructura organizacional que permite que todos

los cálculos sean real'izados en una malla cuadrada fija cuando las ecuaciones diferencia­

les que se estén Tesolviendo hayan sido transformadas de tal manera que las coordenadas

curvilíneas reemplacen a las coordenadas cartesianas como variable independientes. La

malla libera a la simulación computacional de restringuirse a cieTtas formas de frontera

y permite la generación de códigos de uso general en los cuales la forma de la frontera

es especificada simplemente en la entrada de datos. Las fronteras también pueden estar

en movimiento, ya sea por especificaciones externas o en respuesta al desarrollo de la

solución física. Similarmente, el sistema de coordenadas puede ajustarse para seguir la

variación en la solución física. En cualquier caso, la malla generada numéricamente

permite que todos los cálculos sean realizados en una malla cuadrada fija en el cam­

po computacional(también llamado espacio lógico), el cual es siempre rectangulaT por

construcción

Page 43: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.5. Diferencias Finitas 32

Figura 2.2: Malla para una región muy sencilla

2.5 Diferencias Finitas

Introducción:

La técnica de las diferencias finitas fue la primera técnica que surgió para resolver proble­

mas prácticos en ingeniería. Hoy en día ésta técnica ya está obsoleta con lo que respecto

a solución de ecuaciones en derivadas parciales, por ejemplo, solución de problemas de

viga, placas, etc. Pero la técnica de diferencias finitas es hasta hoy bastante utilizada a

la hora de integración numérica en el tiempo.

Definición 2.5.1. El método para resolver toda clase de ecuaciones diferenciales par­

ciales consiste en reemplazar las derivadas por cocientes de diferencias, convirtiendo

la ecuación a una ecuación de diferencia. Luego se escribirá(nodo) de los componentes

de la malla que subdivide la región de interés, en la cual los valores de la función son

desconocidos. Resolviendo estas ecuaciones simultáneamente, se obtienen valores para

la función en cada nodo que son aproximados a los valores verdaderos. Se deducirá las

relaciones que se necesitan independientemente.

Sea h = ~x igual al espacio del componente de malla en la dirección x. (ver figura

anterior). Se supone que la función f(x) tiene una cuarta derivada continua. Luego por

medio de la serie de Taylor, se tiene:

f(xn + h) = f(xn) + f'(xn)h + f"~xn) h2 + f"'~xn) h3 + fl~~6 ) h4 , Xn < 6 < Xn + h

f(xn- h) = f(xn)- J'(xn)h + J"~xn) h2 - J"'~xn) h3 + fl~i6) h4 , Xn- h < 6 < Xn

Page 44: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.5. Diferencias Finitas 33

Luego se sigue:

Daremos la ecuación anterior una notación con subíndices:

(2.2)

De la ecuación anterior los subíndices de f indican los valores x en los cuales se va a

evaluar. Además la relación de orden O(h2) significa que el error se aproxima propor­

cionalmentea h2 conforme h converge a O.

De igual manera, se aproxima la primera derivada

f(xn + h)- f(xn- h) = J'(x ) + f 111(E) h2 X _ h <e< X + h

2h n 6 ' n <, n

Ahora con la notación de subíndices se tiene:

(2.3)

Cuando fes una función tanto de x como de y, se obtiene la segunda derivada parcial

con respecto a x, ~:~, manteniendo a y constante y evaluando la función en tres puntos

en donde x sea igual a Xn.Xn + h y Xn - h.

La derivada parcial t~ se calcula de igual manera, manteniendo a x constante.

Ejemplo 2.13. Para una mejor apreciación aplicamos el método de diferencias finitas

para la ecuación Poisson: 82u 82u 8x2 + 8y2 = -F(x, y)

Utilizamos la serie de Taylor en la variable x alrededor de Xi para generar la fórmula de

las diferencias centrales.

donde Ei E (xi-l, Xi+t).Tambien usamos la serie de Taylor en la variable y alrededor de

yj para generar la fórmula de las diferencias centrales:

Page 45: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.6. Método de separación de variables 34

2.6 Método de separación de variables

El método de separación de una variable para la solución de una ecuación diferencial

parcial consiste en proponer una solución del tipo:

u(x, y)= X(x)Y(y)

Donde X(x) es una función de x y Y(y) es una función exclusivamente de y, así que

cualquier ecuación diferencial que se pueda representar de esta manera podrá ser resuelta

con el método de separación de variables.

Pasos del método de separación de variables:

l. Se supone una función solución de la ecuación diferencial parcial u(x, y) = X(x)Y(y),

o bien u= XY.

2. Sustituir u(x, y) y sus derivadas parciales en la ecuación diferencial parcial.

3. Separar en cada lado de la ecuación diferencial parcial a las funciones univariables

con sus respectivas derivadas.

4. Se igualan ambos lados de la ecuación diferencial parcial con una constante, lla­

mada constante de separación.

5. Resolver las dos ecuaciones diferenciales ordinarias que se tienen.

6. Multiplicar las soluciones de las ecuaciones diferenciales ordinarias del paso ante­

rior, para así obtener la solución completa de la ecuación diferencial parcial.

Limitaciones del método de separación de variables:

l. La ecuación diferencial parcial tiene que ser lineal.

2. La solución de la ecuación diferencial parcial debe ser una función de dos variables

independientes.

Ejemplo 2.14. Resolver la ecuación del calor, por el método de separación de variable.

k>O (2.4)

Page 46: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.6. Método de separación de variables 35

Solución. Puesto que u(x, t) = X(x)T(t), haremos el cambio de variable de Y a T, así:

u(x, t) = X(x)T(t)

y las derivadas parciales toman la forma:

~: = X'(x)T(t)

~:~ = X"(x)T(t)

~~ = X(x)T'(t)

Al sustituir (2.2), (2,3) y (2,4) en (2.1) tendremos:

Separando variables:

kX"(x)T(t) = X(x)T'(t)

X"(x) X(x)

1 T'(t) k T(t)

(2.5)

(2.6)

(2.7)

(2.8)

Para que la igualdad (2.5) se cumpla, y dado que el mienbro de la izquierda es función

solo de x y el de la derecha solo de t, la única manera de que esto sea posible, es haciendo

que la ecuación (2.5) sea igual a una constante, a la que por conveniencia llamaremos

.\2 , así:

X"(x) 1 T'(t) 2 --=--=.\ X(x) k T(t)

(2.9)

La constante .\2 puede ser positiva (.\2 > 0), negativa (-.\2 <O) o bien (.\2 = 0).

Para obtener las funciones X(x) y T(t), tomaremos tanto la parte de la izquierda como

la derecha de (2.6), y los tres posibles valores de .\2 .

Caso ..\2 > 0:

X"(x)- ..\2 X(x) =O

La cual es una ecuación diferencial lineal de segundo grado, cuya ecuación característica

es m2 - .\2 = O, donde la solución es:

Page 47: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.6. Método de separación de variables 36

La cual puede ser escrita de manera alternativa como:

X(x) = c1cosh(>..x) + c2senh(>..x)

y con el segundo mienbro de (2.6).

T'(t)- >..2kT(t) =O

Que es una ecuación diferencial lineal de primer orden, cuya solución es:

Una vez obtenida las funciones X(x) y T(t), una solución particular propuesta por el

método tiene la forma:

O también:

Caso ->..2 < 0:

X"(x) + )..2 X(x) =O

El cual es una ecuación diferencial lineal de segundo orden, cuya ecuación característica

es m2 + )..2 =O, donde la solución es:

X(x) = c1cos(>..x) + C2Sen(>..x)

y

T'(t) + >..2kT(t) =O

Que es una ecuación diferencial lineal de primer orden, cuya solución es:

De aqui la solución particular es:

U(x, t) = X(x)T(t) =(el cos(>..x) + c2 sen(.Xx))c3E->.2x

Caso .\2 = 0:

X"(x) =O

Page 48: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.7. Transformada de Fourier 37

La cual es una ecuación diferencial lineal de segundo orden, cuya característica es m2,

donde la solución es:

y

T'(t) =O

Que es una ecuación diferencial de primer orden, cuya solución es:

T(t) = Cg

Una vez obtenidas las funciones X(x) y T(t), una tercera solución particular, tiene la

forma:

u(x, t) = X(x)T(t) = (c1 + c2x)c3

2.7 Transformada de Fourier

Definición 2.7.1. Sea f una función integrable en cualquier intervalo [a,bj y si la inte­

gral:

1: if(x)idx = ab~'f!_i00 1: if(x)idx < +oo --?00

exíste entonces:

es la transformada de fourier de f.

La función F está bien definida pues la integral impropia de lf(x)l existe y la función

ci~x es acotada.

Luego la 'Iransformada inversa de Fourier está dado por:

Page 49: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2.7. Transformada de Fourier

Ejemplo 2.15. Dado el problema:

u E C2 ((0, l)x(O, +oo)x(C)[O, l]x[O, +oo]))

Ut - C2Uxx

u(O, t) O

u(l, t) O

u(x,O) f(x)

El problema nos representa La Ecuación del Calor.

0 < X < l, 0 < t < 00

O<t<oo

38

Ahora desarrollaremos el problema usando la transformación de Fourier ,esta aplicación

habrá de aplicarse a la variable temporal, que toma valores sólo en la semirecta t ;::: O.

Aplicamos la transformación de Fourier a la ecuación y tenemos:

J(ut(x, t))

J(ut(x, O))

o?J( Uxx(x, t))

J(f(x))

Por las propiedades de la transformada resulta:

BJ(u(x, t)) = -o?eJ(u(x, t))

8t dJ(u(x, t))

-a2edt J(u(x, t))

lnJ(u(x, t)) -a2et + lnc

J(u(x, y)) -a2,;2t - CE

Luego, si t = O se tiene:

J(u(x, O))= e= J(f(x))

Entonces:

Aplicando la transformada inversa:

~- 1 (~(u(x, t)))

u(x, t)

~-l(~(f(x) )ca2et)

f(x)J-l(ca2et)

Page 50: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

2. 7. Transformada de Fourier 39

Desarrollaremos la transformada inversa, aplicando la definición:

u(x, t)

u(x, t)

u(.x, t)

u(x, t)

u(x, t)

Page 51: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Capítulo 3 _____ _

Ecuaciones Diferenciales Parciales

Parabólicas de una Dimensión

3.1 Método de diferencias finitas progresivas

El criterio para resolver ecuaciones diferenciales parciales parabólicas por medio de un

método numérico consiste en reemplazar las derivadas parciales por aproximaciones de

diferencia finita. Para la ecuación del flujo calorífico unidimensional se tiene:

(3.1)

sujeta a las condiciones:

u(O, t) - O, t > O

u(l, t) O, t > O

u(x, O) f(x), O ~ x ~ l

Para aproximar la solución de este problema usaremos el método de diferencias finitas

progresivas:

Para obtener aproximaciones por diferencias finitas, consideremos la retícula que se

muestra en la siguiente grafica.

40

Page 52: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 41

"'' ~flx-

TJ+ 1

T¡. 1

.dT 1 ' o

X1·2 X~1 X1 X 1+1 L /

Figura 3.1: Malla o cuadrilla

Donde: ~X - h y ~t k

jk para i =O, 1, ... , m y j =O, 1, ...

Las fórmulas de diferencias que usamos para~~ (xi, tj) y~:~ (xi, tj) son respectivamente:

au(. ·)- u(xi,tj+k)-u(xi,tj) -~82·u(. ·) (3.2) Bt x~, t1 - k 2 Bt2 x~, J.LJ

para alguna J.Lj E (tj, tH1),

82u( . ·) _ u(xi+h, tj)- 2u(xi, tj) + u(Xi-h 1 ti)_ h

2 8

4u(é· ·)

ax2 x~, tJ - h2 12 Bx4 "'~' tJ (3.3)

donde ~i E (xi_1, xi+1). ya estudiadas en la sección anterior. Ahora usando la apro­

ximación wi,j ~ u( Xi, tj) y despreciando los términos ~ ~~ ( Xi, J.Lj) y - ~~ fx4 ( ~i, tj), y

sustituyendo lo que se obtiene en la ecuación del calor, nos queda:

w· "+1 - w· · w·+1 · - 2w· · + w·-1 · ~.J ~.J 2 t ,J ~.J ~ ,J - o k -O! h2 - (3.4)

el error local de truncamiento para esta ecuación de diferencias es:

k 82u h2 84u Ti,j = 2 8t2 (xi, J.Lj)- a? 12 8x4 (~i, tj) (3.5)

Al resolver la ecuación (3.4) para wi,H1 obtenemos:

w· ·+1 - w· · w·+1 · - 2w· · + w·-1 · ~.J t,J_ 2 ~ .J t,J ~ ,J_o k O! h2 -

Page 53: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 42

(w· ·+1- w· ·)h2 - a2k(w·+l ·- 2w· · + W·-1 ·) 2,J 2,J 2 ,J 2,J 2 ,J = o kh2

(w· ·+1- w· ·)h2 = o?k(w·+1 ·- 2w· · + w·_¡ ·) 2,J 2,J 2 ,J 2,J 2 ,J

(3.6)

Para todo i = 1, 2, ... , m- 1 y j = 1, 2, ... ; esta ecuación se aplica a todos los puntos

de la retícula.

La ecuación en diferencias (3.6) se emplea para calcular las aproximaciones de la fila

anterior mediante las siguientes condiciones:

• tomando la condición inicial u(x, O) = f(x), O :::; ::¡; :::; l, implica que wi,O = f(xi)

para todo i = O, 1, ... , m calculamos el valor de wi,b para todo i = 1, 2, ... , m -l.

En efecto: Si consideramos la frontera inferior wi,o = f(xi), y aproximamos el

primer término Ut y el segundo término Uxx por medio de:

(fPu) 8x2 iO

'

Wi+1,0- 2Wi,O + Wi-1,0

h2

mientras el segundo término lo aproximamos por medio de:

(3.7)

(3.8)

Reemplazando estos valores en (3. 7) y (3.8) en la ecuación del calor tenemos:

Wi¡-WiO 2 Wi+1o-2Wio+Wi-10 O , ' -Q ' ' t =

k h2

al resolver esta ecuación para wi,l obtenemos:

Wi,1 = ( 1 - 2 Ct:2k) Wi,O + Ct:2k ( Wi+l,O + Wi-l,O)

para todo i = 1, 2, ... , m- l.

(3.9)

(3.10)

Page 54: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 43

• Las condiciones adicionales u(O, t) = O y u(l, t) = O implica que wo,i = Wm,1 = O,

con el cual podemos determinar todos los elementos de la forma wi,1 . Si volvemos a

aplicar el procedimiento una vez conocida todas las aproximaciones wi,1 podemos

obtener en forma semejante los valores wi,2 , wi,3, ...

En efecto: Si consideramos la frontera wi,1 ya determinados por (3.10), aproxima-

} , . (a2u) (au) d' d mos os termmos 8x2 i,1 y at i,1 por me 10 e:

82u 'Wi+1,1 - 2wi,1 + 'Wi-1,1 8x2 h2

8u Wi,2 - 'Wi,1 at k

Reemplazando en la ecuación del calor, obtenemos:

Wi,2 - 'Wi,1 + a.:2k ( 'Wi+l,1- 2Wi,1 + 'Wi-1,1)

Wi,2 = ( 1 - 2 Ci:2k) Wi,1 + a.:2k ( 'Wi+1,1 + 'Wi-1,1)

para todo i = 1, 2, ... , m - 1 Desarrollando por inducción la ecuación (3.10) y

tomando >. = a:2k' tenemos:

• i = 1

• i = 2

• i = 3

w1,1 - (1- 2>.)w1,0 + >.(w2,o + wo,o) ..._..,. o

w2,1 (1- 2>.)w2,o + >.(wa,o + w1,o)

w2,1 (1 - 2>.)f(x2) + >.j(xa) + >.j(x1)

wa,1 (1- 2>.)wa,o + >.(w4,o + w2,o)

wa,1 (1 - 2>.)f(xa) + >.j(x4) + >.j(x2)

Page 55: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas

• i=m-1

Wm-1,1 - (1 - 2A.)wm-1,0 + A.( Wm,O + Wm-2,0)

Wm-1,1 = (1 - 2A.)J(xm-1) + A.f(xm) + A.f(Xm-2)

La forma matricial asociada a éste sistema es:

(1- 2A.) A. o o f(x1) w1,1

A. (1- 2A.) A. j(x2) w2,1

o A. (1 - 2A.) o f(xa) wa,1

A.

o o A. (1- 2A.) f(xm-d Wm-1,1

Aw(o) = w<1)

Donde:

w<o) (J(x1), J(x2), ... , J(xm-I))t w(l) - (wl,l, W2,1, .. ·, Wm-1,1)t

En general, tenemos que:

wUl = Aw(j-1)

para todo j = 1, 2, ...

44

La precisión de la ecuación en diferencias (3.10) es de orden O(k + h2). Este método es

explícito ya que, si los valores wi,j se conocen para ti en todos los puntos de la retícula,

los valores wi,H1 par el nuevo tiempo tH1 se calculan sin resolver ecuaciones simultaneas.

Ejemplo 3.1. Vamos a usar el método de las diferencias finitas progresivas para resolver

la ecuación del calor: au 82u at (x, t) = Bx2 (x, t)

que satisfaga las condiciones inciciales:

u(x, y)= 4(x- x2) O<x<l

y las condiciones de contorno:

u(O, t) = u(l, t) = O o< t < 0,2

Page 56: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 45

--~ 0.20

0.18

0.16

0.14

0.12

0.10

0.08

0.06

0.04

o.o 2

'" o 0.2 0.4 0.6 0.8 1 ,

Figura 3.2: Malla o cuadrilla

Solución. Si tomamos h = 0,2 y k = 0,02, tenemos que .X = 0,5 .En este caso se tiene

que usar el siguiente algoritmo:

wi,i+l - (1- 2-X)wi,i + .X(wi+l,i + Wi-l,i)

wi,i+l - (1- 2(0,5))wi,j + 0,5(wi+lJ + Wi-l,i)

Wi,j+l - 0,5(wi+l,j + Wi-l,j)

Ahora, usemos al condicion inicial:

W¡,o - 4(0,2 - (0,2)2) - 0,640000

w2,o 4(0,4 - (0,4)2 ) 0,960000

W3,0 - 4(0,6 - (0,6)2) 0,960000

W4,0 4(0,8 - (0,8)2) - 0,640000

Para hallar los demas puntos usaremos el algoritmo anterior:

Page 57: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 46

• Para j =O

• i = 1,j =o

w1,1 = 0,5(w2,o + wo,o) = (0,5)(0,96) = 0,480000

• i=2,j=O

w1,1 = 0,5(w3,o + W¡,o) = (0,5)(0,96 + 0,64) = 0,800000

• í = 3,j =o

W3,1 = 0,5(w4,o + w2,o) = (0,5)(0,64 + 0,96) = 0,800000

• i = 4,j =o

W4,1 = 0,5(ws,o + w3,o) = (0,5)(0,96) = 0,480000

• Para j = 1

• i = 1,j = 1

w1,2 = 0,5(w2,1 + Wo,l) = (0,5)(0,8) = 0,400000

• i = 2,j = 1

w2,2 = 0,5(w3,1 + w1,1) = (0,5)(0,80 + 0,48) = 0,640000

• i = 3,j = 1

w3,2 = 0,5(w4,1 + w2,1) = (0,5)(0,48 + 0,80) = 0,640000

• i = 4,j = 1

W4,2 = 0,5(ws,l + W3,1) = (0,5)(0,80) = 0,400000

• Para j = 2

• i = 1,j = 2

w1,3 = 0,5(w2,2 + wo,2) = (0,5)(0,64) = 0,320000

• i = 2,j = 2

w2,3 = 0,5(w3,2 + w1,2) = (0,5)(0,64 + 0,40) = 0,520000

• i = 3,j = 2

w3,3 = 0,5(w4,2 + w2,2) = (0,5)(0,40 + 0,64) = 0,520000

• i = 4,j = 2

w4,3 = 0,5(ws,2 + W3,2) = (0,5)(0,64) = 0,320000

• Para j = 3

Page 58: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 47

• i = 1,j = 3

w1,4 = 0,5(w2,3 + wo,a) = (0,5)(0,52) = 0,260000

• i = 2,j = 3

w2,4 = 0,5(wa,a + W¡,a) = (0,5)(0,52 + 0,32) = 0,420000

• i = 3,j = 3

w3,4 = 0,5(w4,3 + w2,3) = (0,5)(0,32 + 0,52) = 0,420000

• i=4,j=3

w4,4 = 0,5(w5,3 + wa,a) = (0,5)(0,52) = 0,260000

• Para j = 4

• í = 1,j = 4

w1,5 = 0,5(w2,4 + wo,4) = (0,5)(0,42) = 0,210000

• i = 2,j = 4

W2,5 = 0,5(wa,4 + w1,4) = (0,5)(0,42 + 0,26) = 0,340000

• i=3,j=4

wa,5 = 0,5(w4,4 + w2,4) = (0,5)(0,26 + 0,42) = 0,340000

• i = 4,j = 4

w4,5 = 0,5(w5,4 + wa,4) = (0,5)(0,42) = 0,210000

• Para j = 5

• i=1,j=5

w1,6 = 0,5(w2,5 + Wo,5) = (0,5)(0,34) = 0,170000

• i = 2,j = 5

W2,6 = 0,5(wa,5 + w1,5) = (0,5)(0,34 + 0,21) = 0,275000

• i = 3,j = 5

wa,6 = 0,5(w4,5 + w2,5) = (0,5)(0,32 + 0,52) = 0,275000

• i = 4,j = 5

w4,6 = 0,5( w5,5 + wa,5) = (0,5)(0,34) = 0,170000

• Para j = 6

• i=1,j=6

Wt,T = 0,5(w2,6 + Wo,6) = (0,5)(0,275) = 0,137500

Page 59: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 48

• i=2,j=6

W2,1 = 0,5( W3,6 + W¡,6) = (0,5) (0,275 + Ü, 17) = 0,222500

• i = 3,j = 6

w3,7 = 0,5(w4,6 + w2,6) = (0,5)(0,17 + 0,275) = 0,222500

• i = 4,j = 6

w4,7 = 0,5(w5,6 + w3,6) = (0,5)(0,275) = 0,137500

• Para j = 7

• i=1,j=7

W¡,s = 0,5(w2,7 + wo,7) = (0,5)(0,2225) = 0,111250

• i = 2,j = 7

w2,s = 0,5(w3,7 + w1,1) = (0,5)(0,2225 + 0,1375) = 0,180000

• i = 3,j = 7

w3,s = 0,5(w4,7 + w2,1) = (0,5)(0,1375 + 0,2225) = 0,180000

• i = 4,j = 7

w4,B = 0,5(w5,7 + W3,7) = (0,5)(0,2225) = 0,111250

• Para j = 8

• i=1,j=8

w1,9 = 0,5(w2,8 + wo,s) = (0,5)(0,18) = 0,090000

• i = 2,j = 8

w2,9 = 0,5(w3,s + W¡,s) = (0,5)(0,18 + 0,11125) = 0,145625

• i = 3,j = 8

W3,9 = 0,5(w4,s + w2,s) = (0,5)(0,11125 + 0,18) = 0,145625

• i = 4,j = 8

w4,9 = 0,5(w5,8 + W3,s) = (0,5)(0,18) = 0,090000

• Para j = 9

• i=1,j=9

w1,10 = 0,5(w2,9 + wo,9) = (0,5)(0,145625) = 0,072813

• i=2,j=9

W 2,10 = 0,5( W3,9 + W¡,g) = (0,5)(0,145625 + 0,09) = 0,117813

Page 60: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 49

• i = 3,j = 9

W3,10 = 0,5(w4,9 + W2,9) = (0,5)(0,09 + 0,145625) = 0,117813

• i = 4,j = 9

w4,10 = 0,5(w5,9 + W3,g) = (0,5)(0,145625) = 0,072813

Ahora ordenemos los resultados numericos en la siguiente tabla:

Xo = 0,0 X1 = 0,2 X2 = 0,4 X3 = 0,6 X4 = 0,8 X5 = 1,0

to = 0,00 0.000000 0.640000 0.960000 0.960000 0.640000 0.000000

tl = 0,02 0.000000 0.480000 0.800000 0.800000 0.480000 0.000000

t2 = 0,04 0.000000 0.400000 0.640000 0.640000 0.400000 0.000000

t3 = 0,06 0.000000 0.320000 0.520000 0.520000 0.320000 0.000000

t4 = 0,08 0.000000 0.260000 0.420000 0.420000 0.260000 0.000000

t5 = 0,10 0.000000 0.210000 0.340000 0.340000 0.210000 0.000000

t6 = 0,12 0.000000 0.170000 0.750000 0.750000 0.170000 0.000000

t7 = 0,14 0.000000 0.137500 0.222500 0.222500 0.137500 0.000000

ts = 0,16 0.000000 0.111250 0.180000 0.180000 0.111250 0.000000

tg = 0,18 0.000000 0.090000 0.145625 0.145625 0.090000 0.000000

tw = 0,20 0.000000 0.072812 0.117813 0.117813 0.072812 0.000000

Ahora desarrollaremos en la forma matricial por la amplitud de los sistemas que se pre­

sentan , se utilizará el software matemático Matlab.

diferencia finita progresiva en forma matricial:

Vj = 1, 2, ...

Donde la matriz A y Wi-l , Vj = 1, 2, ... es:

o 0,5 o o 0,64

0,5 o 0,5 o ·wo- 0,96 A=

o 0,5 o 0,5 ' - 0,96

o o 0,5 o 0,64

• Para i = 1, ... , 4 y j = 1 tendremos:

Page 61: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas 50

o 0,5 o o 0,64 0,48

0,5 o 0,5 o *

0,96 0,80

o 0,5 o 0,5 0,96 0,80

o o 0,5 o 0,64 0,48

Donde:

W1,1 = 0,48 W2,1 = 0,80 W3,1 = 0,80 W4,1 = 0,48

• Para i = 1, ... ,4 y j = 2 tendremos:

A * w<1) = w<2

)

o 0,5 o o 0,48 0,40

0,5 o 0,5 o 0,80 0,64 * o 0,5 o 0,5 0,80 0,64

o o 0,5 o 0,48 0,40

Donde:

w1,2 = 0,40 w2,2 = 0,64 w 3,2 = 0,64 W4,2 = 0,40

• Para i = 1, ... ,4 y j = 3 tendremos:

A * w<2) = w<3)

o 0,5 o o 0,40 0,32

0,5 o 0,5 o 0,64 *

0,52

o 0,5 o 0,5 0,64 0,52

o o 0,5 o 0,40 0,32

Donde:

w1,a = 0,32 w2,a = 0,52 wa,a = 0,52 w4,3 = 0,32

• Para i = 1, ... , 4 y j = 4 tendremos:

A * w(a) = w<4)

o 0,5 o o 0,32 0,26

0,5 o 0,5 o 0,52 0,42 * o 0,5 o 0,5 0,52 0,42

o o 0,5 o 0,32 0,26

Donde:

WI,4 = 0,26 W2,4 = 0,42 W3,4 = 0,42 W4,4 = 0,26

Page 62: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.1. Método de diferencias finitas progresivas

• Para i = 1, ... , 4 y j = 5 tendremos:

o 0,5 o o 0,5 o 0,5 o o 0,5 o 0,5

o o 0,5 o Donde:

0,26

0,42 * 0,42

0,26

0,21

0,34

0,34

0,21

wl,5 = 0,21 w2,s = 0,34 w3,5 = 0,34 w4,5 = 0,21

• Para i = 1, ... ,4 y j = 6 tendremos:

o 0,5 o o 0,21 0,17

0,5 o 0,5 o 0,34 0,275 * o 0,5 o 0,5 0,34 0,275

o o 0,5 o 0,21 0,17

Donde:

wl,6 = 0,17 w2,6 = 0,275 w3,6 = 0,275 w 4,6 = 0,17

• Para i = 1, ... , 4 y j = 7 tendremos:

o 0,5 o o 0,17 0,1375

0,5 o 0,5 o 0,275 0,2225 * -o 0,5 o 0,5 0,275 0,2225

o o 0,5 o 0,17 0,1375

Donde:

wl,7 = 0,1375 w2,7 = 0,2225 w 3,7 = 0,2225 w4,7 = 0,1375

• Para 'Í = 1, ... , 4 y j = 8 tendremos:

A * wC7) = w(s)

o 0,5 o o 0,1375 0,1113

0,5 o 0,5 o 0,2225 0,1800 * o 0,5 o 0,5 0,2225 0,1800

o o 0,5 o 0,1375 0,1113

51

Page 63: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 52

Donde:

w1,s = 0,1113 w2,s = 0,1800 w3,s = 0,1800 W4,s = 0,1113

• Para i = 1, ... , 4 y .i = 9 tendremos:

A * wCs) = wC9)

o 0,5 o o 0,1113 0,0900

0,5 o 0,5 o 0,1800 0,1456 * o 0,5 o 0,5 0,1800 0,1456

o o 0,5 o 0,1113 0,0900

Donde:

w1,9 = 0,0900 w2,9 = 0,1456 w3,9 = 0,1456 w4,9 = 0,0900

• Para i = 1, ... , 4 y j = 10 tendremos:

A * wC9) = w(IO)

o 0,5 o o 0,0900 0,0728

0,5 o 0,5 o 0,1456 0,1178 * = o 0,5 o 0,5 0,1456 0,1178

o o 0,5 o 0,0900 0,0728

Donde:

W1,10 = 0,0728 W2,10 = 0,1178 W3,10 = 0,1178 W4,10 = 0,0728

3.2 Método de diferencias finitas regresivas

Consideremos la retícula que se muestra en la figura (3.1) de la sección anterior. Este

es un método de diferencias implícitas que se obtiene al usar el cociente de diferencias

regresivas para Ut(xi, ti), en la forma:

( ) _ u(xi, ti)- u(xi, ti-1) k ( )

Ut Xi, tj - k + 2Utt Xi, J.Lj

donde J.L E (ti_1, ti)· Al sustituir esta ecuación (3.3), en la ecuación del calor, usando la

aproximación Wi,i ~ Ut(Xi, ti) se obtiene:

Wi,j- Wi,j-1 _ a 2 Wi+1,j- 2Wi,j + Wi-1,j = Ü

k h2 (3.11)

Page 64: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 53

Para todo i = 1, 2, ... , m- 1 y wi,j-1

Al resolver la ecuación (3.11) en wi,j-1 obtenemos:

Wi,j- Wi,j-1 _ a2 Wi+1,j- 2wi,j + Wi-1,j =O k h2

(w--- w· ·_1)h2 - a2 k(w·+1 ·- 2w- -+ w·-1 -)=O 2,3 2,3 2 ,J 2,3 2 ,J

(w--- w- -_1 )h2 = a2k(w-+1 -- 2w-- + W·-1 ·) z,J 2,J 2 ,J z,J 2 ,J

a2k (wi,j- Wi,j-1) = h2 (wi+1,j- 2wi,j + Wi-1,j)

a2k -w· ·-1 = -w-- + -(w-+1 -- 2w-- + w·_1 -) 2,3 2,3 h2 2 ,J 2,3 2 ,J

a2k Wi,j-1 = Wi,j- --¡;2(Wi+1,j- 2wi,j + Wi-1,j)

2a2k a 2k Wi,j-1 = Wi,j + --¡;:¡-wi,j- h2 (wi+1,j + Wi-l,j)

wi,j-1 = ( 1 + 2a:2k )wi,j- a:2k (wi+l,j- Wi-1,j) (3.12)

Para todo i = 1, 2, ... , m - 1 y j = 1, 2, ...

Aplicando el hecho de que wi,o = f(xi), para todo i = 1, 2, ... , m -1 y Wm,j = wo,j =O,

para todo j = 1, 2, ... y haciendo inducción en (3.13),tenemos:

•j=1 i=1

w1,1- w1,o -.A(w2,1- 2w1,1 + wo,I) O .._,.,. .._,.,. /(x1) O

(1 + 2.A)w1,1 - .Aw2,1 = f(x¡)

(1 + 2.A)w2,1- .Awa,l- .Aw1,1 - w2,o

(1 + 2.A)w2,1 - .Awa,l - .Aw1,1 f(x¡)

•j=1 i=3

(1 + 2.A)w3,1 - AW4,1 - .Aw2,1 W3,o

(1 + 2-A)wa,l - AW4,1 - .Aw2,1 f(xa)

Page 65: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas

i =m

(1 + 2A)Wm,1 - AWm+l,1 - AWm-1,1

(1 + 2A)Wm,1 - AWm+1,1 - AWm-1,1

La forma matricial asociada al sistema es:

(1 + 2A) -A o o -A (1 + 2A) -A

o -A (1 + 2A) o -A

w1,1

w2,1

W3,1

o o -A (1 + 2A) Wm-1,1

Aw(1) = w(o)

Donde:

En general, tenemos que:

54

Wm,O

f(xl)

f(x2)

- J(x3)

f(xm-1)

Para todo j = 1, 2, ... Ahora resolveremos un sistema lineal para obtener los wU) a

partir de wU-1).

Ejemplo 3.2. Vamos a usar el método de las diferencias finitas regresivas para resolver

la ecuación del calor: au 82u at (x, t) - ax2 (x, t) = o

que satisfaga las condiciones inciciales:

u(x,y) = sen(~x)

y las condiciones de contorno:

u(O, t) = u(2, t) = O O < t

Page 66: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 55

0.1 1--.--.--...,..-r-...,..-r--r-r---r---t

0.09 1-+--.t--t--1--1--1--t--t--+--t

0.08 t--t--1-+-t--+-1--t--1--+--1

0.07 1--1--1--+-+--+--1--+-t--+---«

0.06 1--+-t-+-+--+-1--+-+--+---1

0.06 1--1--1--+-+--+-1--+-t--+--1

0.04 +--+-1--+-ol--+-1--+-+--+~

0.03 t--+--.t-+-+--+-1--+-t--+--t

0.02 1-+-t-+-+--+-1--+-1--+---1

0.01 t--+-t--+-+--+-+--+-+---+--1

o 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Figura 3.3: Malla o cuadrilla

Solución. a= -1, h = 2~0 = 0,2, k= 0·i~0 = 0,01 y t = 0,1

Para i = 1, 2, ... , 9 y j = O tenemos:

W1,0 sen 7r(0,2)

0,309016 -2

W2,0 sen 7r(0,4)

0,587785 2

W3,o sen 7r(0,6)

0,809016 2

W4,0 sen 7r(0,8)

0,951056 -2

ws,o = sen( 7!"~1)) - 1

W6,0 sen 7r(l,2)

0,951056 2

wr,o sen 7r(l,4)

0,809016 2

Ws,o sen 7r(1,6)

0,587785 2

Wg,o = sen 7r(l,8)

0,309016 2

Ahora desarrollaremos en la forma matricial por la amplitud de los sistemas que se pre­

sentan , se utilizará el software matemático Matlab.

Page 67: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 56

diferencia finita regresiva en forma matricial:

AWj = wj-1

wj = A-1wj-1

Donde la matriz A y W 0 son:

1,5 -0,25 o o o o o o o 0,309016

-0,25 1,5 -0,25 o o o o o o 0,587785

o -0,25 1,5 -0,25 o o o o o 0,809016

o o -0,25 1,5 -0,25 o o o o 0,951056

A= o o o -0,25 1,5 -0,25 o o o ·wo-' - 1

o o o o -0,25 1,5 -0,25 o o 0,951056

o o o o o -0,25 1,5 -0,25 o 0,809016

o o o o o o -0,25 1,5 -0,25 0,587785

o o o o o o o -0,25 1,5 0,309016

y donde la inversa de la matriz A es:

0,6863 0,1177 0,0202 0,0035 0,0006 0,0001 0,0000 0,0000 0,0000

0,1177 0,7065 0,1212 0,0208 0,0036 0,0006 0,0001 0,0000 0,0000

0,0202 0,1212 0,7071 0,1213 0,0208 0,0036 0,0006 0,0001 0,0000

0,0035 0,0208 0,1213 0,7071 0,1213 0,0208 0,0036 0,0006 0,0001 A-1 = 0,0006 0,0036 0,0208 0,1213 0,7071 0,1213 0,0208 0,0036 0,0006

0,0001 0,0006 0,0036 0,0208 0,1213 0,7071 0,1213 0,0208 0,0035

0,0000 0,0001 0,0006 0,0036 0,0208 0,1213 0,7071 0,1212 0,0202

0,0000 0,0000 0,0001 0,0006 0,0036 0,0208 0,1212 0,7065 0,1177

0,0000 0,0000 0,0000 0,0001 0,0006 0,0035 0,0202 0,1177 0,6863

Page 68: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 57

• Para i = 1, 2, ... , 9 y j = 1 tenemos:

0,3016 0,3090

0,5737 0,5878

0,7897 0,8090

0,9283 0,9511

0,9761 = A-1 * 1

0,9283 0,9511

0,7897 0,8090

0,5737 0,5878

0,3016 0,3090

donde:

w1,1 = 0,3016 w2,1 = 0,5737 w3,1 = 0,7897 W4,1 = 0,9283 w 5,1 = 0,9761

W6,1 = 0,9283 W7,1 = 0,7897 Ws,1 = 0,5737 Wg,l = 0,3016

• Para i = 1, 2, ... , 9 y j = 2 tenemos:

0,2944 0,3016

0,5600 0,5737

0,7708 0,7897

0,9062 0,9283

0,9528 = A-1 * 0,9761

0,9062 0,9283

0,7708 0,7897

0,5600 0,5737

0,2944 0,3016

donde:

w 1,2 = 0,2944 w 2,2 = 0,5600 w 3,2 = 0,7708 W4,2 = 0,9062 ws,2 = 0,9528

w 6,2 = 0,9062 W7,2 = 0,7708 WS,2 = 0,5600 W9,2 = 0,2944

Page 69: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 58

• Para i = 1, 2, ... , 9 y j = 3 tenemos:

0,2874 0,2944

0,5467 0,5600

0,7524 0,7708

0,8845 0,9062

0,9300 = A-1 * 0,9528

0,8845 0,9062

0,7524 0,7708

0,5467 0,5600

0,2874 0,2944

donde:

W1,3 = 0,2874 w2,3 = 0,5467 w3,3 = 0,7524 W4,3 = 0,8845 w 5,3 = 0,9300

W6,3 = 0,8845 W7,3 = Ü, 7524 Ws,3 = 0,5467 Wg,3 = 0,287 4

• Para i = 1, 2, ... , 9 y j = 4 tenemos:

0,2805 0,2874

0,5336 0,5467

0,7344 0,7524

0,8634 0,8845

0,9078 = A-1 * 0,9300

0,8634 0,8845

0,7344 0,7524

0,5336 0,5467

0,2805 0,2874

donde:

w1,4 = 0,2805 W2,4 = 0,5336 W3,4 = 0,7344 W4,4 = 0,8634 Ws,4 = 0,9078

w 6,4 = 0,8634 W7,4 = 0,7344 Ws,4 = 0,5336 Wg,4 = 0,2805

Page 70: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 59

• Para i = 1, 2, ... , 9 y j = 5 tenemos:

0,2738 0,2805

0,5209 0,5336

0,7169 0,7344

0,8428 0,8634

0,8861 = A-1 * 0,9078

0,8428 0,8634

0,7169 0,7344

0,5209 0,5336

0,2738 0,2805

donde:

W1,5 = 0,2738 W2,5 = 0,5209 W3,5 = 0,7169 w4,5 = 0,8428 W5,5 = 0,8861

W6,5 = 0,8428 W7,5 = Ü, 7169 w8,5 = 0,5209 Wg,5 = 0,2738

• Para i = 1, 2, ... , 9 y j = 6 tenemos:

0,2673 0,2738

0,5084 0,5209

0,6998 0,7169

0,8226 0,8428

0,8650 = A-1 * 0,8861

0,8226 0,8428

0,6998 0,7169

0,5084 0,5209

0,2673 0,2738

donde:

W1,6 = 0,2673 W2,6 = 0,5084 W3,6 = 0,6998 W4,6 = 0,8226 W5,6 = 0,8650

W 6,6 = 0,8226 W7,6 = 0,6998 Ws,6 = 0,5084 Wg,6 = 0,2673

Page 71: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 60

• Para i = 1, 2, ... , 9 y j = 7 tenemos:

w(7) = A -1 * w(6)

0,2609 0,2673

0,4963 0,5084

0,6831 0,6998

0,8030 0,8226

0,8443 = A-1 * 0,8650

0,8030 0,8226

0,6831 0,6998

0,4963 0,5084

0,2609 0,2673

donde:

WI,7 = 0,2609 W2,7 = 0,4963 W3,7 = 0,6831 W4,7 = 0,8030 W5,7 = 0,8443

W6,7 = 0,8030 W7,7 = 0,6831 Ws,7 = 0,4963 Wg,7 = 0,2609

• Para i = 1, 2, ... , 9 y j = 8 tenemos:

0,2547 0,2609

0,4844 0,4963

0,6667 0,6831

0,7838 0,8030

0,8241 = A-1 * 0,8443

0,7838 0,8030

0,6667 0,6831

0,4844 0,4963

0,2547 0,2609

donde:

W1,8 = 0,2547 W2,8 = 0,4844 W3,8 = 0,6667 W4,8 = 0,7838 W5,8 = 0,8241

W6,8 = 0,7838 W7,8 = 0,6667 Ws,B = 0,4844 Wg,s = 0,2547

Page 72: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.2. Método de diferencias finitas regresivas 61

• Para i = 1, 2, ... , 9 y j = 9 tenemos:

0,2486 0,2547

0,4728 0,4844

0,6508 0,6667

0,7651 0,7838

0,8045 =A-l* 0,8241

0,7651 0,7838

0,6508 0,6667

0,4728 0,4844

0,2486 0,2547

donde:

W1,9 = 0,2486 W2,9 = 0,4728 Wa,9 = 0,6508 W4,9 = 0,7651 Ws,9 = 0,8045

w6,9 = 0,7651 W 7,g = 0,6508 Ws,g = 0,4728 Wg,g = 0,2486

• Para i = 1, 2, ... , 9 y j = 10 tenemos:

w(lo) = A-l * w(9)

0,2427 0,2486

0,4615 0,4728

0,6353 0,6508

0,7468 0,7651

0,7852 =A-l* 0,8045

0,7468 0,7651

0,6353 0,6508

0,4615 0,4728

0,2427 0,2486

donde:

w1,10 = 0,2427 w2,10 = 0,4615 wa,w = 0,6353 W4,10 = 0,7468 Ws,w = 0,7852

w6,10 = 0,7468 W7,10 = 0,6353 WS,lO = 0,4615 Wg,10 = 0,2427

Page 73: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 62

3.3 Método de Crank-Nicolson

Tenemos la ecuación diferencial parcial:

O<x<l O<t

Sujeto a las condiciones:

u(O, t) - u(l, t) o u(x,O) f(x) ;O~x~l

Este método propone promediar el método de diferencias progresivas en el j-ésimo paso

en "t": wo 0+1 - w· · wo+l · - 2wo o + wo_1 o

~.J ~.J - 2 ~ ,J ~.J ~ ,J - o k a h2 - (3013)

con su respectivo error de truncamiento y el método de diferencias regresivas en el

(j+l)-ésimo paso en "t"

Wi,j+l - Wi,j 2 Wi+l,j+l - 2Wi,j+l + Wi-l,j+l _ O k -a: h2 - (3.14)

con su respectivo error de truncamiento, promediando (3o13) y (3.14) tenemos:

Dividiendo entre 2 en ambos miembros obtendremos:

Wi,j+l - Wi,j _ a:2 (Wi+l,j - 2Wi,j + Wi-l,j + Wi+I,j+l - 2Wi,j+l + Wi-l,j+l) = O k 2 h2 h2

Resolviendo esta ecuación tendremos:

Wi,j+1 - Wi,j = a 2 (Wi+1,j - 2wi,j + Wi-l,j + Wi+l,j+l - 2wi,j+l + Wi-l,j+1) k 2 ~ ~

w· 0+1- wo o a:2 ~.J ~.J = -(wo+l o- 2wo o+ wo-1 o+ wo+1 °+1- 2w· 0+1 + W·-1 °+1) k 2h2 ~ '3 ~.J ~ ,J ~ ,J ~.J ~ ,J

a:2k Wi,j+l- Wi,j =

2h2 (wi+l,j- 2wi,j + Wi-l,j + Wi+l,j+l- 2Wi,j+l + Wi-l,j+l)

a2k a2k a:2k Wi,j+l - Wi,j =

2h2 (wi+l,j + Wi-l,j + Wi+l,j+l + Wi-l,j+l) - h2 Wi,j - -¡;:¡-wi,j+l

Page 74: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 63

a2k a2k a2k wi,j+l + h2 wi,j+l = wi,j - h2 wi,j +

2h2 ( wi+l,j + Wi-l,j + wi+l,j+l + Wi-l,j+l)

a2k a2k a2k a2k (1 + h2 )wi,j+l -

2h2 ( Wi+l,j+l + Wi-l,j+l) = (1 - --¡;:i" )wi,j +

2h2 ( Wi+l,j + Wi-l,j)

Ahora hacemos que .X = ~2k obteniendo la siguiente ecuación:

Su representación en forma matricial es:

n.2k P d d d .... . ( )t . ara ca a j =O, 1, ... , on e .X=--¡;:¡- , W3 = W1 ,i> W2,j, W3,j · · · y las matnces A

y B estan dadas por:

A=

(1 +.X) .X 2

o

o

.X 2

(1 +.X)

o

o .X 2

o

o

o

.X

.X 2 2 (1 +.X)

B=

(1 -.X) .X 2 o

o

.X 2

(1 -.X)

o

o .X 2

o .X 2

o o

.X 2

(1 - .X)

Ejemplo 3.3. vamos a usar el metodo de Crank Nicolson para resolver la ecuacion:

que satisfaga las condiciones inciciales:

u(x, y)= sen(1rx) + sen(37rx) 0<x<1

y las condiciones de contorno:

u(O, t) = u(l, t) = O o< t < 0,1

Solución. Si tomamos h = 0,1 y k = 0,01, de manera que .X = l. De acuerdo a ello

observe la siguiente reticula:

Page 75: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 64

0.09 t-+--+---1~+-+-+-+-+--+--t

0.08 1--1--t---1~+-+-+-t-+--+---1

0.07 1-+--+--1~+-+-+-+-+--+---1

0.06 1--1--+--i~+--1--+-+--1--+--1

0.05 1--1--+--il--+--1--+-+-+--+--1

0.04 t--t--+--,t--t--+--t-+--+--+--1 0.03 1---l--+---l~+--l--+-+--1--+--1

0.02 t-+--+-il-+--t--+-+-+--+---1

0.01 t-+--+--1~+--+--+-f-+--+---1

o 0.1 0.2 0.3 0.4 0.6 0.6 0.7 0.8 0.9 1

Figura 3.4: Malla o cuadrilla

Ahora usaremos la condicion inicial :

W¡,o Sen(7r(0,1)) + sen(37r(0,1)) - 1,118034

w2,o - Sen( 11"(0,2)) + sen(37r(0,2)) - 1,538842

wa,o Sen( 11"(0,3)) + sen(37r(0,3)) - 1,118034

W4,0 - Sen(7r(0,4)) + sen(37r(0,4)) 0,363271

ws,o - Sen(7r(0,5)) + sen(37r(0,5)) - 0,000000

W6,0 - Sen( 11"(0,6)) + sen(37r(0,6)) - 0,363271

W7,0 - Sen(7r(0,7)) + sen(37r(0,7)) - 1,118034

ws,o - Sen( 11"(0,8)) + sen(37r(0,8)) 1,538842

Wg,o - Sen( 11"(0,9)) + sen(37r(0,9)) = 1,118034

Aplicando Crank-Nicolson en su forma matricial:

AWH1 =BWj

Page 76: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 65

Donde la matriz A y B son respectivamente:

2 1 o o o o o o o o 1 o o o o o o o -2 2 1 2 1 o o o o o o 1 o 1 o o o o o o -2 -2 2 2 o 1 2 1 o o o o o o 1 o 1 o o o o o -2 -2 2 2 o o 1 2 1 o o o o o o 1 o 1 o o o o -2 -2 2 2

A= o o o 1 2 1 o o o ;B= o o o 1 o 1 o o o -2 -2 2 2 o o o o 1 2 1 o o o o o o 1 o 1 o o -2 -2 2 2 o o o o o 1 2 1 o o o o o o 1 o 1 o -2 -2 2 2 o o o o o o 1 2 1 o o o o o o 1 o 1 -2 -2 2 2 o o o o o o o 1 2 o o o o o o o 1 o -2 2

Donde La inversa de la matriz A es:

0,5359 0,1436 0,0385 0,0103 0,0028 0,0007 0,0002 0,0001 0,0000

0,1436 0,5744 0,1539 0,0412 0,0110 0,0030 0,0008 0,0002 0,0001

0,0385 0,1539 0,5771 0,1546 0,0414 0,0111 0,0030 0,0008 0,0002

0,0103 0,0412 0,1546 0,5773 0,1547 0,0414 0,0111 0,0030 0,0007 A-1 = 0,0028 0,0110 0,0414 0,1547 0,5773 0,1547 0,0414 0,0110 0,0028

0,0007 0,0030 0,0111 0,0414 0,1547 0,5773 0,1546 0,0412 0,0103

0,0002 0,0008 0,0030 0,0111 0,0414 0,1546 0,5771 0,1539 0,0385

0,0001 0,0002 0,0008 0,0030 0,0110 0,0412 0,1539 0,5744 0,1436

0,0000 0,0001 0,0002 0,0007 0,0028 0,0103 0,0385 0,1436 0,5359

• Para i = 1, 2, ... , 9 y j =O tendremos:

W 1 = A-1 * B * W 0

0,6169 1,1180

0,9288 1,5388

0,8621 1,1180

0,6177 0,3633

0,4905 =A-1 *B* o 0,6177 0,3633

0,8621 1,1180

0,9288 1,5388

0,6169 1,1180

Page 77: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 66

Donde:

w1,1 = 0,6169 w2,1 = 0,9288 wa,l = 0,8621 w4, 1 = 0,6177 ws,l = 0,4905 w6,1 = 0,6177

W7,1 = 0,8621 Ws,l = 0,9288 Wg,¡ = 0,6169

• Para i = 1, 2, ... , 9 y j = 1 tendremos:

W 2 =A-1 *B*W1

0,3942 0,6169

0,6480 0,9288

0,7186 0,8621

0,6800 0,6177

0,6488 =A-1 *B* 0,4905

0,6800 0,6177

0,7186 0,8621

0,6480 0,9288

0,3942 0,6169

Donde:

W1,2 = 0,3942 W2,2 = 0,6480 W3,2 = 0,7186 W4, 2 = 0,6800 W5,2 = 0,6488 W6,2 = 0,6800

w7,2 = 0,7186 Ws,2 = 0,6480 Wg,2 = 0,3942

• Para i = 1, 2, ... , 9 y j = 2 tendremos:

W3 = A-l * B * W 2

0,2887 0,3942

0,5067 0,6480

0,6253 0,7186

0,6665 0,6800

0,6733 =A-1 *B* 0,6488

0,6665 0,6800

0,6253 0,7186

0,5067 0,6480

0,2887 0,3942

Page 78: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 67

Donde:

w1,3 = 0,2887 w2,3 = 0,5067 w3,3 = 0,6253 w4, 3 = 0,6665 w5,3 = 0,6733 w6,3 = 0,6665

w1,3 = 0,6253 ws,3 = 0,5067 w9,3 = 0,2887

• Para i = 1, 2, ... , 9 y j = 3 tendremos:

0,2331 0,2887

0,4258 0,5067

0,5560 0,6253

0,6251 0,6665

0,6458 =A-1 *B* 0,6733

0,6251 0,6665

0,5560 0,6253

0,4258 0,5067

0,2331 0,2887

Donde:

w 1,4 = 0,2331 w2,4 = 0,4258 W3,4 = 0,5560 w4, 4 = 0,6251 w5,4 = 0,6458 w6,4 = 0,6251

W7,4 = 0,5560 Ws,4 = 0,4258 Wg,4 = 0,2331

• Para i = 1, 2, ... , 9 y j = 4 tendremos:

W 5 = A-l * B * W4

0,1995 0,2331

0,3720 0,4258

0,4996 0,5560

0,5754 0,6251

0,6002 =A-1 *B* 0,6458

0,5754 0,6251

0,4996 0,5560

0,3720 0,4258

0,1995 0,2331

Page 79: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 68

Donde:

WI,5 = 0,1995 W2,5 = 0,3720 W3,5 = 0,4996 w4, 5 = 0,5754 W5,5 = 0,6002 W6,5 = 0,5754

W7,5 = 0,4996 Ws,5 = 0,3720 Wg,s = 0,1995

• Para i = 1, 2, ... , 9 y j = 5 tendremos:

W 6 = A-1 * B * W 5

0,1759 0,1995

0,3315 0,3720

0,4511 0,4996

0,5253 0,5754

0,5504 =A-1 *B* 0,6002

0,5253 0,5754

0,4511 0,4996

0,3315 0,3720

0,1759 0,1995

Donde:

w1,6 = 0,1759 w2,6 = 0,3315 w3,6 = 0,4511 w4, 6 = 0,5253 ws,6 = 0,5504 w6,6 = 0,5253

w7,6 = 0,4511 W8,6 = 0,3315 W9,6 = 0,1759

• Para i = 1, 2, ... , 9 y j = 6 tendremos:

0,1574 0,1759

0,2981 0,3315

0,4082 0,4511

0,4778 0,5253

0,5015 =A-1 *B* 0,5504

0,4778 0,5253

0,4082 0,4511

0,2981 0,3315

0,1574 0,1759

Page 80: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 69

Donde:

w1,1 = 0,1574 w2,1 = 0,2981 wa,7 = 0,4082 w4, 7 = 0,4778 ws,7 = 0,5015 w6,7 = 0,4778

W7,7 = 0,4082 Ws,7 = 0,2981 Wg,7 = 0,1574

• Para i = 1, 2, ... , 9 y j = 7 tendremos:

W 8 = A-1 * B * W 7

0,1419 0,1574

0,2693 0,2981

0,3698 0,4082

0,4338 0,4778

0,4558 =A-1 *B* 0,5015

0,4338 0,4778

0,3698 0,4082

0,2693 0,2981

0,1419 0,1574

Donde:

w1,s = 0,1419 w2,s = 0,2693 wa,s = 0,3698 w4, 8 = 0,4338 ws,s = 0,4558 w6,B = 0,4338

w1,s = 0,3698 w8,8 = 0,2693 Wg,s = 0,1419

• Para i = 1, 2, ... , 9 y j = 8 tendremos:

W 9 = A - 1 * B * W 8

0,1283 0,1419

0,2437 0,2693

0,3351 0,3698

0,3936 0,4338

0,4137 = A-1 * B * 0,4558

0,3936 0,4338

0,3351 0,3698

0,2437 0,2693

0,1283 0,1419

Page 81: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

3.3. Método de Crank-Nicolson 70

Donde:

W¡,g = 0,1283 'ILI2,9 = 0,2437 W3,9 = 0,3351 w4, 9 = 0,3936 w5,9 = 0,4137 w6,9 = 0,3936

'IL/7,9 = 0,3351 Ws,9 = 0,2437 Wg,g = 0,1283

• Para i = 1, 2, ... , 9 y j = 9 tendremos:

W 10 =A-1 *B*W9

0,1161 0,1283

0,2208 0,2437

0,3038 0,3351

0,3570 0,3936

0,3753 =A-1 *B* 0,4137

0,3570 0,3936

0,3038 0,3351

0,2208 0,2437

0,1161 0,1283

Donde:

WI,lO = 0,1161 'IL/2,10 = 0,2208 W3,10 = 0,3038 w4, 10 = 0,3570 'IL/5,10 = 0,3753 W6,10 = 0,3570

'IL/7,10 = 0,3038 Ws,lO = 0,2208 'IL/9,10 = 0,1161

Page 82: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Conclusiones

l. El método de diferencias finitas nos permite hallar una solución númerica aproxi­

mada de las Ecuaciones Diferenciales Parciales Parabólicas.

2. Entre las diferentes formas de discretización posible(Diferencias finitas, elementos

finitos y volúmenes finitos) una de las formas más simples y utilizables es mediante

el método de diferencias finitas.

3. El software matemático Matlab es un gran soporte de ayuda en la solución núme­

rica de Ecuaciones Diferenciales Parciales Parabólicas.

4. En la solución de Ecuaciones Diferenciales Parciales Parabólicas. por los métodos

de diferencias finitas progresivas, diferencias finitas regresivas y Crank-Nicolson se

logra una mejor aproximación a su solución númerica utilizando intervalos redu­

cidos ( h y k segun corresponda).

71

Page 83: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Sugerencias

l. Se sugiere utilizar como guía para los estudiantes de la Escuela Profesional de Ma­

temáticas y carreras afines, donde se desarrolle el tema de Ecuaciones diferenciales

Parciales Parabólicas por diferencias finitas.

2. Se recomienda usar el software matemático Matlab como soporte en la solución

numérica con diferencias finitas de Ecuaciones Diferenciales Parciales Parabólicas.

3. Se recomienda utilizar el método de Crank-Nicolson porque nos permite encontrar

una mejor aproximación a la solución númerica buscada.

4. Se sugiere continuar con el estudio sobre Ecuaciones Diferenciales Parciales y sus

aplicaciones en las diferentes áreas de Ciencia e Ingenieria.

72

Page 84: DIFERENCIAS FINITAS ASISTIDAS CON MATLAB EN LA SOLUCIÓN DE …

Bibliografía

[1] R. L Burden y J.D. Faires, "Análisis Numérico", ga ed. Cengage, 2011.

[2] R. Leveque, "Finite Diferences methods for Ordinary and Partial Differential

Equations", SIAM, 2007.

[3] S. Chapra y R. Canale, "Numerical Methods for Engineers", 6 edición Mcgraw­

Hill, 2010.

[4] E. Isaacson y H. B. Keller, "Analysis of Numerical Methods", Dover 1994 (ori­

ginal de 1966).

[5J Ayres, F, "Ecuaciones Diferenciales", Edición Me Graw-Hill1991.

[6] Hornbeck. Robert W, "Numerical Methods Quantum", New York.

[7] Mathews, J.H; Fink, K.D, "Métodos Numéricos con Matlab", Edición 1999.

[8] Simmons, G. F, "Ecuaciones Diferenciales (con aplicaciones y notas históricas}",

Edición Me Graw- Hill (1998).

[9] Zill, D, "Ecuaciones Diferenciales con aplicaciones", Edición Grupo editorial Ibe­

roamérica (1998).

[10] Moisés Lázaro C, "Álgebra Lineal", Editorial Moshera.

[11] Elon Lages Lima, "Álgebra Lineal", Textos del IMCA.

[12] Kenneth Hoffmann - Ray Kunze, "Álgebra Lineal", Printice"'Hall.

73