Desarrollo de las Ecuaciones Diferenciales Parciales Parabólicas...
Transcript of Desarrollo de las Ecuaciones Diferenciales Parciales Parabólicas...
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN Y
TRANSFERENCIA DE TECNOLOGÍA
CENTRO DE POSGRADOS
Programa: Maestría en la Enseñanza de la Matemática
Promoción Primera
TESIS DE GRADO:
Previa a la Obtención del Título de:
Magíster en la Enseñanza de la Matemática
TEMA
Desarrollo de las Ecuaciones Diferenciales Parciales Parabólicas
mediante Diferencias Finitas, Elementos Finitos y Meshless
Ing. Manuel Patricio Pugarín Díaz
Director: Ph.D. Nelson Subía Cepeda
Quito - Ecuador
2015
I
UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN YTRANSFERENCIA DE TECNOLOGÍA
CERTIFICACIÓN DEL DIRECTOR
Ph.D. Nelson Edmundo Subía Cepeda
CERTIFICA:
Que el trabajo titulado “Desarrollo de las Ecuaciones Diferenciales Parciales
Parabólicas mediante Diferencias Finitas, Elementos Finitos y Meshless”, rea-
lizado por el maestrante Pugarín Díaz Manuel Patricio, ha sido guiado y re-
visado periódicamente, cumpliendo con las normas establecidas por el De-
partamento de Ciencias Exactas de la Universidad de las Fuerzas Armadas –
ESPE, por tanto, se autoriza su presentación para los fines legales pertinen-
tes.
Sangolquí, marzo 2015
PhD. Nelson Subía C.
DIRECTOR DE TESIS
II
UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN YTRANSFERENCIA DE TECNOLOGÍA
DECLARACIÓN DE RESPONSABILIDAD
Yo: Pugarín Díaz Manuel Patricio
DECLARO QUE:
La tesis de grado titulada “Desarrollo de las Ecuaciones Diferenciales Parcia-
les Parabólicas mediante Diferencias Finitas, Elementos Finitos y Meshless”,
ha sido desarrollada con base a una profunda investigación, respetando dere-
chos intelectuales de terceros, conforme a las citas correspondientes, cuyas
fuentes constan en la bibliografía. Consecuentemente este trabajo es de mi
autoría.
En virtud de esta declaración, me responsabilizo del contenido, veracidad
y alcance científico de la tesis de grado en mención.
Sangolquí, marzo 2015
Patricio Pugarín D.
C.C: 1708038318
III
UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN YTRANSFERENCIA DE TECNOLOGÍA
AUTORIZACIÓN
Yo: Pugarín Díaz Manuel Patricio
Autorizo a la Universidad de las Fuerzas Armadas – ESPE, la publicación en
la biblioteca virtual de la institución, de mi trabajo denominado: “Desarrollo de
las Ecuaciones Diferenciales Parciales Parabólicas mediante Diferencias Fini-
tas, Elementos Finitos y Meshless”, cuyo contenido, ideas y criterios son de
mi exclusiva responsabilidad y autoría.
Sangolquí, marzo 2015
Patricio Pugarín D.
C.C: 1708038318
IV
AGRADECIMIENTO
Al Ph.D. Nelson Subía Cepeda y al Ph.D. Paul Medina Vásquez quienes
con sus vastos conocimientos y experiencia me guiaron, confiaron y enseña-
ron de la mejor manera en el desarrollo de este trabajo.
A mis compañeros del Departamento de Ciencias Exactas, de la Univer-
sidad de las Fuerzas Armadas – ESPE, por la paciencia y aliento brindado
durante el desarrollo de la presente investigación.
V
DEDICATORIA
A mi DIOS por estar siempre a mi lado y proveerme de la fuerza, salud y
sabiduría necesaria, a mi madre por su ejemplo de superación y trabajo y a
mi esposa e hijos por su apoyo incondicional; quienes me permitieron ahora
alcanzar este logro tan especial.
Índice general
Certificación del Director I
Declaración de Responsabilidad II
Autorización III
Agradecimiento IV
Dedicatoria V
Índice de Figuras XI
Índice de Cuadros XII
Notación utilizada XIII
Resumen XIV
Abstract XV
Introducción 1
1. Ecuaciones Parabólicas 3
1.1. Ecuaciones Diferenciales Parciales . . . . . . . . . . . . . . . . 3
1.2. Importancia y Selección . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Ecuaciones del tipo parabólico . . . . . . . . . . . . . . . . . . . 6
1.4. Métodos de solución . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1. Diferencias finitas . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2. Método de Elementos Finitos . . . . . . . . . . . . . . . . 8
VI
VII
1.4.3. Método de Meshless . . . . . . . . . . . . . . . . . . . . . 9
1.4.4. Formulación y Objetivo General . . . . . . . . . . . . . . 9
2. Diferencias Finitas 11
2.1. Ecuación Diferencial Parcial Unidimensional . . . . . . . . . . . . 11
2.1.1. Ecuaciones Homogéneas . . . . . . . . . . . . . . . . . . 11
2.1.2. Ecuaciones No Homogeneas . . . . . . . . . . . . . . . . 19
2.2. Otros esquemas numéricos . . . . . . . . . . . . . . . . . . . . . 20
2.2.1. Esquema de Richardson . . . . . . . . . . . . . . . . . . 20
2.2.2. Esquema de Crank - Nicolson . . . . . . . . . . . . . . . 20
2.3. Ecuación Bidimensional . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.1. Análisis de la estabilidad del método . . . . . . . . . . . . 24
2.4. Ejercicios de aplicación . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.1. Problema tipo . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.2. Problema tipo. Esquema explícito . . . . . . . . . . . . . 27
2.4.3. Problema tipo. Esquema de Crank - Nicolson . . . . . . . 34
2.4.4. Problema 2 (No Homogéneo) . . . . . . . . . . . . . . . . 40
3. Elementos Finitos 50
3.1. El Método de Elementos Finitos. . . . . . . . . . . . . . . . . . . 50
3.1.1. Métodos existentes . . . . . . . . . . . . . . . . . . . . . 50
3.1.2. Utilidad del MEF . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3. Un poco de historia del MEF . . . . . . . . . . . . . . . . 51
3.1.4. Descripción general del MEF . . . . . . . . . . . . . . . . 52
3.1.5. Descripción matemática del MEF . . . . . . . . . . . . . . 53
3.2. Desarrollo de las EDP’s del tipo parabólico, unidimensional, por
el MEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.1. Formulación débil . . . . . . . . . . . . . . . . . . . . . . 54
3.2.2. Construcción de la formulación débil . . . . . . . . . . . . 55
3.2.3. Formulación de Galerkin . . . . . . . . . . . . . . . . . . 58
3.2.4. Funciones lineales por partes . . . . . . . . . . . . . . . . 61
3.2.5. Ensamblaje de la matriz de elementos finitos . . . . . . . 64
3.3. Ejercicio de aplicación . . . . . . . . . . . . . . . . . . . . . . . . 65
VIII
3.3.1. Problema tipo. Método de elementos finitos . . . . . . . . 65
4. Meshless 79
4.1. El método Meshless . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.1.1. Un poco de historia del MM . . . . . . . . . . . . . . . . . 79
4.1.2. La Función de Base Radial (FBR) . . . . . . . . . . . . . 80
4.1.3. El Método Meshless y las Funciones de Base Radial . . 80
4.2. Desarrollo de una EDP unidimensional . . . . . . . . . . . . . . . 82
4.2.1. Descripción Matemática del Método Meshless . . . . . . 82
4.3. Ejercicio de aplicación . . . . . . . . . . . . . . . . . . . . . . . . 85
4.3.1. Problema tipo. Método de Meshless . . . . . . . . . . . . 85
5. Error de la aproximación numérica y tiempos de cómputo 91
5.1. Cálculo del error . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.1.1. Error absoluto (Err) . . . . . . . . . . . . . . . . . . . . . . 91
5.1.2. Error cuadrático medio (Ecm) . . . . . . . . . . . . . . . . 92
5.1.3. Error medio cuadrático relativo (Emcr) . . . . . . . . . . . 92
5.2. Cálculo del error cometido . . . . . . . . . . . . . . . . . . . . . . 93
5.2.1. Método de las diferencias finitas . . . . . . . . . . . . . . 93
5.2.2. Método de los elementos finitos . . . . . . . . . . . . . . 96
5.2.3. Método de Meshless . . . . . . . . . . . . . . . . . . . . . 99
5.3. Análisis del error . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.1. Error absoluto . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.2. Error cuadrático medio . . . . . . . . . . . . . . . . . . . . 104
5.3.3. Error medio cuadrático relativo . . . . . . . . . . . . . . . 105
5.4. Tiempos de cómputo . . . . . . . . . . . . . . . . . . . . . . . . . 106
6. Conclusiones y Recomendaciones 108
6.1. Respuesta a las Interrogantes Planteadas para este trabajo . . . 108
6.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 111
IX
Tabla de Algoritmos 112
Algoritmo 1, problema tipo, solución exacta . . . . . . . . . . . . . . . 112
Algoritmo 2, problema tipo, esquema explícito . . . . . . . . . . . . . . 112
Algoritmo 3, problema tipo, esquema de Crank-Nicolson . . . . . . . . 114
Algoritmo 4, problema 2 no homogeneo, Crank-Nicolson . . . . . . . . 117
Algoritmo 5, problema tipo, elementos finitos, n = 6 . . . . . . . . . . . 119
Algoritmo 6, problema tipo, elementos finitos, todo n . . . . . . . . . . 121
Algoritmo 7, problema tipo, método Meshless . . . . . . . . . . . . . . 124
Algoritmo 8, error absoluto . . . . . . . . . . . . . . . . . . . . . . . . 127
Algoritmo 9, error cuadrático medio . . . . . . . . . . . . . . . . . . . 129
Algoritmo 10, error medio cuadrático relativo . . . . . . . . . . . . . . 130
Algoritmo 11, polinomio interpolador Lagrange . . . . . . . . . . . . . 130
Algoritmo 12, sistema matricial tridiagonal de ecuaciones . . . . . . . 131
Tabla de Matrices 133
Solución exacta, problema tipo . . . . . . . . . . . . . . . . . . . . . . 133
Solución aproximada, problema tipo, esquema explícito . . . . . . . . 137
Solución aproximada, problema tipo, esquema explícito estable . . . . 142
Solución aproximada, problema tipo, literal a). Crank-Nicolson . . . . 143
Solución aproximada, problema tipo, literal b). Crank-Nicolson . . . . . 148
Solución exacta, problema tipo, literal b) . . . . . . . . . . . . . . . . . 150
Solución aproximada, problema tipo comprobación . . . . . . . . . . . 151
Solución aproximada, problema 2 no homogéneo . . . . . . . . . . . . 156
Solución aproximada, problema tipo, elementos finitos, n = 6 . . . . . 160
Solución exacta, problema tipo, n = 6 . . . . . . . . . . . . . . . . . . 161
Solución aproximada, problema tipo, elementos finitos, n = 19 . . . . 162
Solución aproximada, problema tipo, método Meshless . . . . . . . . 167
Anexo A 172
Problema 3 bidimensional, método de diferencias finitas . . . . . . . . 172
Bibliografía 189
Índice de figuras
2.1. Mallado espacio - tiempo. . . . . . . . . . . . . . . . . . . . . . . 13
2.2. Esquema de diferencias progresivas. . . . . . . . . . . . . . . . . 14
2.3. Esquema del punto (i, j + 12). . . . . . . . . . . . . . . . . . . . . 21
2.4. Esquema Implícito. . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5. Malla discretizada bidimensional. . . . . . . . . . . . . . . . . . . 24
2.6. Esquema Explícito bidimensional. . . . . . . . . . . . . . . . . . 24
2.7. Solución exacta. Problema tipo . . . . . . . . . . . . . . . . . . . 27
2.8. Mallado del problema tipo. . . . . . . . . . . . . . . . . . . . . . . 28
2.9. Solución aproximada. Problema tipo, explícito . . . . . . . . . . . 30
2.10.Soluciones aproximada y exacta. Problema tipo, comparación. . 31
2.11.Solución aproximada. Problema tipo explícito, estable. . . . . . . 33
2.12.Solución aproximada. Problema tipo, m = 5776. . . . . . . . . . . 34
2.13.Solución aproximada. Problema tipo, literal a), Crank-Nicolson . 39
2.14.Solución aproximada. Problema tipo, literal b).Crank −Nicolson 40
2.15.Solución exacta. Problema tipo, literal b). . . . . . . . . . . . . . . 40
2.16.Solución aproximada. Problema tipo (algoritmo 4), comprobación. 48
2.17.Solución aproximada. Problema 2 no homogéneo (algoritmo 4). . 48
3.1. Elemento lineal unidimensional. . . . . . . . . . . . . . . . . . . . 62
3.2. Soluciones aproximada y exacta. Problema tipo, n = 6. . . . . . 73
3.3. Solución aproximada. MEF. Problema tipo, n = 19. . . . . . . . . 78
4.1. Solución aproximada. Problema tipo, método Meshless. . . . . . 89
5.1. El Err máximo en el MDF . . . . . . . . . . . . . . . . . . . . . . 94
5.2. Comparación entre U y Uexat en el MDF . . . . . . . . . . . . . 94
X
XI
5.3. Comportamiento del error, nivel t = 0,0263, en el MDF . . . . . . 94
5.4. El Ecm máximo en el MDF . . . . . . . . . . . . . . . . . . . . . 95
5.5. El Emcr máximo en el MDF . . . . . . . . . . . . . . . . . . . . . 96
5.6. El Err máximo en el MEF . . . . . . . . . . . . . . . . . . . . . . 97
5.7. Comparación entre U y Uexat en el MEF . . . . . . . . . . . . . 97
5.8. Comportamiento del error, nivel t = 0,0263, en el MEF . . . . . . 97
5.9. El Ecm máximo en el MEF . . . . . . . . . . . . . . . . . . . . . 98
5.10.El Emcr máximo en el MEF . . . . . . . . . . . . . . . . . . . . . 99
5.11.El Err máximo en el MM . . . . . . . . . . . . . . . . . . . . . . . 100
5.12.Comparación entre U y Uexat en el MM . . . . . . . . . . . . . . 100
5.13.Comportamiento del error, nivel t = 0,026316, en el MM . . . . . 100
5.14.El Ecm máximo en el MM . . . . . . . . . . . . . . . . . . . . . . 101
5.15.El Emcr máximo en el MM . . . . . . . . . . . . . . . . . . . . . . 102
5.16.El Emcr máximo, nivel t = 0,013158, en el MDF . . . . . . . . . . 102
5.17.El Emcr máximo, nivel t = 0,013158, en el MEF . . . . . . . . . . 102
5.18.El Emcr máximo, nivel t = 0,48684, en el MM . . . . . . . . . . . 103
6.1. Solución aproximada. Problema 3, hipermatriz k = 1. . . . . . . . 180
6.2. Solución aproximada. Problema 3, hipermatriz k = 10. . . . . . . 181
6.3. Solución aproximada. Problema 3, hipermatriz k = 20 . . . . . . 183
6.4. Solución aproximada. Problema 3, hipermatriz k = 50. . . . . . . 184
6.5. Solución aproximada. Problema 3, hipermatriz k = 100. . . . . . 185
6.6. Solución aproximada. Problema 3, hipermatriz k = 250. . . . . . 187
6.7. Solución aproximada. Problema 3, hipermatriz k = 401. . . . . . 188
Índice de cuadros
2.1. Sistema matricial, problema tipo, Crank - Nicolson . . . . . . . . 38
2.2. Sistema matricial, problema 2 no homogéneo. . . . . . . . . . . 46
3.1. Coeficientes de las matrices AKi y MKi. . . . . . . . . . . . . . . 77
3.2. Coeficientes generalizados para n. . . . . . . . . . . . . . . . . . 77
4.1. Funciones de Base Radial . . . . . . . . . . . . . . . . . . . . . . 82
5.1. Error absoluto en tres métodos de aproximación . . . . . . . . . 104
5.2. Error cuadrático medio en tres métodos de aproximación . . . . 105
5.3. Error cuadrático relativo en tres métodos de aproximación . . . . 106
5.4. Tiempos de cómputo, problema tipo, diferencias finitas. . . . . . 106
5.5. Tiempos de cómputo en los tres métodos aproximados . . . . . 107
XII
XIII
Notación utilizadaEDP’s ecuaciones diferencial parcial (1.1)
PVF problemas de valor de frontera (1.3)
EDP ecuación diferencial parcial (1.4)
MDF método de diferencias finitas (2.1.1)
Uexat solución exacta (2.4.1)
MEF método de elementos finitos (3.1.1)
MM método Meshless (4.1)
FBR función de base radial (4.1.2)
MQ multicuádrica (4.1.3)
Err error absoluto (5.1.1)
Ecm error cuadrático medio (5.1.2)
Emcr error medio cuadrático relativo (5.1.3)
XIV
Resumen
Muchos problemas presentados en las ramas de la ingeniería, a través de lamodelación matemática, presentan ecuaciones diferenciales parciales del ti-po parabólico. La solución analítica de una ecuación parcial proporciona unamayor comprensión del comportamiento del fenómeno estudiado, ya que per-mite ser determinada en todo instante de tiempo; pero, no siempre es posi-ble encontrar esta solución. Es aquí en donde los métodos aproximados sonuna herramienta de solución a este problema presentado. El presente traba-jo pretende ser considerado como un material didáctico, guía para cualquierdocente, en donde paso a paso se mostrarán y desarrollarán, en forma pe-dagógica, los métodos aproximados clásicos diferencias finitas y elementosfinitos y de vanguardia como el método Meshless, en la solución de estasecuaciones; utilizando para ello aplicaciones orientadas a la ingeniería y parala enseñanza de la matemática a nivel superior. Se propone en las DiferenciasFinitas, utilizando fórmulas de aproximación para las derivadas, encontrar laecuación discretizada parcial de un problema en estudio, construyendo el ma-llado correspondiente y encontrando su solución. Para los Elementos Finitos,partiendo de una reformulación del problema en estudio, construir la formu-lación débil; que, combinada con el método de Galerkin, permite plantear elproblema en un espacio de funciones finito que garantiza la existencia de lasolución. Para el Método Meshless se propone el desarrollo del mismo, ba-sado en la colocación de puntos del dominio con Funciones de Base RadialMulticuádrica. Adicionalmente, a más de desarrollar estos métodos se realizaun análisis del error cometido en la aproximación, comparándole con la solu-ción analítica conocida de un problema en estudio. Esto tiene el propósito dedemostrar la validez y confianza en el método. Además, se construyeron pro-gramas computacionales en, Matlab, para cada uno de los métodos tratados.
PALABRAS CLAVES:APROXIMACIÓN DE LA DERIVADAFORMULACIÓN DÉBILFUNCIONES DE BASE RADIALDERIVADA TEMPORALSOLUCIÓN NUMÉRICAPROBLEMAS DE FRONTERA
XV
Abstract
Many engineering problems are expressed and modeled using parabolic Par-tial Differential Equations (PDE’s). Although its analytical solution provides grea-ter understanding for the behavior of certain phenomena at any instant of ti-me, it is not always possible to find these solutions. In accordance of this, theapproximate methods are a useful tool to numerically solve a problem withPDE’s. By using classical approximate methods of finite difference and finiteedge elements such as the Meshless Method, this work aims to be consideredas a teaching aid guide for any instructor. Indeed, these methods are explai-ned through a very detailed and pedagogical way. Moreover, it includes manyexamples of applications oriented to engineering and mathematics teachingat a higher level. As far as Finite Differences, I used approximation formulaeof derivatives to find the partial equation discretized, and thereby building thecorresponding meshing on which someone would find a numerical solution. Inthe other hand, Finite Elements are based on a reformulation of the problemusing the Weak Derivative Formulation; with which combined the Galerkin Met-hod allows setting the problem in a finite space that guarantees existence anduniqueness. The Meshless method is based on a dot placement domain withRadial Basis Function Multi-quadrics. Furthermore, I provide error analysis forall the methods mentioned, comparing them with the known analytical solution.All in all, this work is intended to demonstrate the validity and confidence of allof these methods. Finally, I show several computer programs using Matlab foreach of the methods discussed.
KEY WORDS:APPROXIMATION OF THE DERIVATIVEWEAK DERIVATIVE FORMULATIONRADIAL BASIS FUNCTIONTEMPORARY DERIVATIVENUMERICAL SOLUTIONPROBLEMS OF BORDER
1
IntroducciónDesarrollo de las Ecuaciones Diferenciales Parciales Parabólicas mediante
Diferencias Finitas, Elementos Finitos y Meshless
Con frecuencia no es posible encontrar la solución analítica de una ecuación
diferencial parcial (EDP) debido, como por ejemplo, a la no linealidad de la
ecuación, por el alto grado de la EDP o por tener coeficientes variables, que
constituye el modelo matemático; o debido al dominio donde se estudia el
problema. Es aquí en donde los métodos numéricos, o aproximados, son una
herramienta que permite convertir modelos matemáticos en procedimientos
computacionales, cuyos resultados pueden ser contrastados con las solucio-
nes analíticas, en los casos en los que éstas existan.
De la experiencia vivida en la profesión, material didáctico en donde se
desarrolle, paso a paso, la metodología que se aplica para resolver una ecua-
ción diferencial, es muy escasa. Como ejemplo extremo, para el método Mesh-
less, los textos de matemática avanzada para Ingeniería no consideran aún,
en sus contenidos, este método de solución.
Por tanto, este trabajo pretende incentivar el estudio de estas ecuaciones,
presentado como un material didáctico, en donde paso a paso se mostrarán
y desarrollarán en forma pedagógica métodos aproximados de solución clási-
cos como diferencias finitas y elementos finitos y de vanguardia como el de
Meshless; encaminados todos a la programación computacional en Matlab.
La aproximación por Diferencias Finitas, basada en fórmulas de aproxi-
mación para las derivadas, se presenta con fundamento matemático para la
discretización de las ecuaciones requeridas, para resolver un problema de
frontera determinado y considerando criterios de estabilidad. Se desarrollan
problemas con EDP’s del tipo homogénea y no homogénea, unidimensional,
mediante los métodos Explícito y Crank-Nicolson. Adicionalmente, se desa-
rrolla un problema bidimensional por el método Explícito. Las soluciones se
presentan en forma numérica y gráfica.
2
Los Elementos Finitos, como aproximación numérica para resolver proble-
mas de frontera, parten de una reformulación de este problema; para lo cual
se debe construir la formulación débil, en la que se realiza la discretización del
tiempo continuo, para obtener la formulación discreta. Esta formulación última,
combinada con el método de Galerkin, permite plantear la ecuación diferencial
en un espacio de funciones adecuado que permite encontrar y verificar la exis-
tencia de la solución de esta formulación; correspondiendo ésta a la solución
del problema inicial.
El Método Meshless, a diferencia de los métodos diferencias finitas y ele-
mentos finitos, no requiere de un mallado para obtener la solución numérica
de una ecuación diferencial parcial (EDP). Se basa en la colocación de puntos
del dominio del problema, con Funciones de Base Radial del tipo Multicuádrico
[23], realizando previamente una discretización de la variable temporal. Todo
se encamina a resolver, finalmente, un sistema lineal de ecuaciones del cual
se obtiene la solución numérica del problema.
Este trabajo se compone de 6 Capítulos. El Capítulo 1 resalta la importan-
cia de trabajar con este tipo de ecuaciones y hace una pequeña descripción
de cómo operan estos métodos aproximados de solución. En el Capítulo 2 se
trata, en forma detallada, el método de las Diferencias Finitas, con fundamen-
to matemático, aplicado a resolver problemas de frontera con condición inicial
en 1 y 2 dimensiones. El Capítulo 3 se enfoca en el método de los Elemen-
tos Finitos para resolver un problema homogéneo unidimensional, partiendo
de una base conceptual con fundamento matemático. El Capítulo 4 trata el
método sin mallado o de Meshless, para un problema homogéneo unidimen-
sional, presentando el fundamento matemático correspondiente hasta llegar a
obtener la solución numérica del mismo. En el Capítulo 5 se hace el cálculo
y análisis del error cometido en la aproximación, para los tres métodos; esta-
bleciendo finalmente las Conclusiones y Recomendaciones pertinentes en el
Capítulo 6.
Capítulo 1
Ecuaciones Parabólicas
1.1. Ecuaciones Diferenciales Parciales
La teoría clásica de las Ecuaciones Diferenciales en Derivadas Parciales
(EDP’s) las clasifica en tres grandes grupos: elípticas, parabólicas e hiperbóli-
cas. En el presente trabajo se trabaja sobre las del tipo parabólico, ya que sus
características matemáticas son muy distintas a las otras. La ecuación del ca-
lor es el prototipo de ecuación de evolución de tipo parabólico cuyas variantes
están presentes de manera sistemática en todos los modelos matemáticos de
la Difusión y de la Mecánica de Fluidos [4]. Se trata de un modelo fuertemente
irreversible en tiempo en que la información se propaga rápidamente.
1.2. Importancia y Selección
En problemas de Ingeniería es común encontrar modelos matemáticos
que incluyen ecuaciones diferenciales en derivadas parciales del tipo parabóli-
co [1]. Este trabajo pretende exponer los conocimientos, en los métodos numé-
ricos, que se consideran básicos para que un estudiante de ingeniería pueda
entender, plantear y desarrollar un modelo matemático basado en EDP’s; el
cual servirá de base para formulaciones más complejas y reales en proble-
mas que se presentan al estudiar los procesos de conductibilidad térmica y
difusión.
3
4
Como ejemplo se tiene el modelo unidimensional del flujo de calor en un
alambre aislado de longitud a [1]. La ecuación del calor, que nos da la tempe-
ratura U(x, t) en la posición x del alambre y en el instante t, es
cUxx(x, t) = σ · δ · Ut(x, t) para 0 ≤ x ≤ a y 0 ≤ t <∞,
cuya condición inicial de temperatura es
U(x, 0) = f(x) para t = 0 y 0 < x < a,
y sus condiciones de contorno a considerar sonU(0, t) = c1 para x = 0 y 0 < t <∞,
U(a, t) = c2 para x = a y 0 < t <∞,
siendo c, el coeficiente de conducción térmica, σ, el calor específico, y, δ, la
densidad del material, constantes a considerar.
La selección de este tipo de EDP’s se efectuó tomando en consideración
las múltiples aplicaciones como por ejemplo en aerodinámica, acústica, elas-
ticidad, transferencia de calor, metereología, física del plasma, etc.; presen-
tando, a continuación, algunos ejemplos de gran relevancia en la Física y la
Ingeniería.
Las ecuaciones de Maxwell, que describen la propagación de las ondas
electromagnéticas en un determinado medio, siendo una de ellas
∇x ~H =4π
c~J,
donde ~H es el campo magnético, ~J la densidad de flujo de carga [17] y c
la velocidad de la luz.
La ecuación de Schrödinger de la mecánica cuántica, que describe la
evolución de los sistemas microscópicos como son los átomos o las mo-
léculas [18], siendo esta
− h2
2m∇2 · U + V (~r) · U = i · ~ · Ut,
donde U es la función de onda, V la energía potencial, ~r es la energía
de posición, ~ la constante de Planck e i la unidad imaginaria.
5
Las EDP’s del tipo parabólico son muy utilizadas en el estudio del creci-
miento de tumores y la forma en que se difunden sobre los tejidos que
los rodean. En la utilización de estas ecuaciones se supone un sistema
descrito bajo un comportamiento mecánico, donde el sistema puede ser
un fluido o una mezcla entre líquido y sólido (los fluidos son normalmen-
te los nutrientes). Se presentan fenómenos de difusión y transporte de
nutrientes teniendo en cuenta efectos de concentración, tamaño y velo-
cidad de células. En este modelo se aplican condiciones iniciales y de
frontera que están relacionadas con el tamaño, la permeabilidad del me-
dio, la geometría y las dimensiones del sistema. Para migraciones no
estacionarias debe satisfacer la EDP
c = ∇2n+ V (c, n),
siendo D el coeficiente de difusión, V (c, n) la función específica de pro-
ducción de la señal química [19], n la densidad y c la concentración.
En el caso particular de la Ingeniería de Alimentos, es necesario me-
jorar los procesos tradicionales de conservación, y de optimización en
el uso de los recursos energéticos; siendo necesario estudiar aplicacio-
nes matemáticas y computacionales para el análisis del calentamiento
convectivo de alimentos envasados. Este es un ejemplo de aplicaciones
ingenieriles a temas vinculados con los procesos biotecnológicos, parti-
cularmente en la conservación de alimentos. Así, para la determinación
de coeficientes de difusión, de agua y de sólidos, se considera la segun-
da ley de Fick para la difusión unidireccional
Ct = Def · C2xx,
siendo C la concentración y Def el coeficiente de difusión efectivo[20].
Los fluidos perfectos o ideales, si bien constituyen modelos matemáticos
interesantes, no dejan de ser un tanto irrealistas en la medida en que
todo fluido posee un cierto grado de viscosidad. La ecuación de Burgers
viscosa, se presenta en un sentido más estricto y riguroso, adoptando la
6
forma:
Ut − v · Uxx + U · Ux = 0,
donde U es la propagación de la onda y v > 0 la constante de viscosidad
[16].
Aunque la evolución de un sistema cancerígeno está limitada y condicio-
nada a parámetros químicos y biológicos, su diseminación a través de
los tejidos y órganos contaminados obedece a procesos estocásticos,
es decir, que describen la evolución temporal de una variable continua;
las cuales, en la modelación desarrollan EDP’s de este tipo. Ánderson y
Chaplain plantearon una EDP para describir la dinámica de la densidad
de células endoteliales que migran a través de un tumor
n = D · ∇2n −∇(X(c) · n · ∇c) + g(n, c),
siendo D el coeficiente de difusión, X(c) el parámetro químico táctico,
c(x, t) la concentración de TAF químico específico [19] y g(n, c)=la fun-
ción de proliferación.
Estos pocos ejemplos muestran el interés de su estudio; ahora, se pondrá
énfasis en las EDP’s de tipo parabólico.
1.3. Ecuaciones del tipo parabólico
Requiere la solución de este tipo de EDP’s de un dominio espacio-temporal
abierto. La solución está sujeta a un conjunto de condiciones iniciales y de
frontera, correspondiente a Problemas de Valor de Frontera (PVF) con condi-
ción inicial. La solución se calculará yendo hacia adelante a partir de la condi-
ción inicial y satisfaciendo siempre las condiciones de contorno. Como ejem-
plo se tiene la ecuación de la conducción del calor, con coeficiente térmico c
constante [4].
Ut(x, t) = cUxx(x, t) +Q(x, t) para 0 ≤ x ≤ a y 0 ≤ t <∞,
7
en donde Q(x, t) representa las fuentes de calor existentes, sujeta a la condi-
ción inicial
U(x, 0) = f(x), para 0 < x < a,
y a dos condiciones de contornoU(0, t) = g1(t) para t > 0,
U(a, t) = g2(t) para t > 0.
1.4. Métodos de solución
En este trabajo se considerarán tres métodos aproximados para encontrar
la solución de una EDP; siendo estos: Diferencias Finitas, Elementos Finitos
y el método Meshless. Es importante recalcar que muchos PVF no se pueden
resolver satisfactoriamente mediante técnicas analíticas, por lo que es nece-
sario obtener aproximaciones numéricas de las soluciones.
1.4.1. Diferencias finitas
Se basa en la utilización de fórmulas para aproximar las derivadas de una
función. Estas fórmulas de aproximación de las derivadas de una función U
pueden ser: centradas, progresivas o regresivas, con un orden de la aproxi-
mación O(hn) [1], n = 1, 2, ... Como ejemplo se tienen las siguientes fórmulas:
Para la primera derivada de la función U(x, t), con respecto a x, utilizando
un orden de aproximación O(h2) y O(h)
Diferencias centradas
Ux(x, t) =U(x+ h, t)− U(x− h, t)
2h+O(h2).
Diferencias progresivas
Ux(x, t) =U(x+ h, t)− U(x, t)
h+O(h).
8
Diferencias regresivas
Ux(x, t) =U(x, t)− U(x− h, t)
h+O(h).
Otro ejemplo es la fórmula de la segunda derivada de la función U(x, t), cen-
trada y con respecto a x, con orden de aproximación O(h2)
Uxx(x, t) =U(x+ h, t)− 2U(x, t) + U(x− h, t)
h2+O(h2).
Fácilmente se puede aproximar la derivada n-ésima de U(x, t) con un orden
de aproximación O(hn) [1][6].
1.4.2. Método de Elementos Finitos
Es una técnica numérica muy importante que se ha destacado especial-
mente por modelar en dominios irregulares, condiciones de contorno, sistemas
de cargas complejos, etc.; así como también por la facilidad en la selección del
mecanismo de aproximación de las variables involucradas en un problema es-
pecífico.
El análisis de un problema mediante el método de elementos finitos par-
te de la definición de su dominio, el cual se debe discretizar en regiones de
tamaño finito. Se debe a continuación identificar la variable de estado, esta-
bleciendo sistemas de referencia: locales para los elementos y globales para
el sistema completo; los cuales permiten construir las funciones de aproxima-
ción de cada elemento, y, a partir de estas determinar las ecuaciones a nivel
de cada elemento mediante los métodos: directo, variacional o de residuos
ponderados[10]. Luego introduciendo las condiciones de contorno, se debe
resolver el sistema de ecuaciones resultante, obteniendo valores aproximados
de las variables de estado en los nodos del dominio. Estos valores deben ser
interpretados y pueden usarse para el cálculo de otras cantidades físicas tales
como flujos de calor, esfuerzos, etc. En la práctica, se obtienen resultados con-
fiables comparando diferentes análisis, basados en diferentes discretizaciones
del dominio, para el mismo problema. Se profundizará sobre este método al
tratarlo con detalle en el Capítulo III, de este trabajo.
9
1.4.3. Método de Meshless
Comúnmente, encontrar una aproximación a la solución de una EDP se
realiza empleando los métodos de Diferencias Finitas y Elementos Finitos. Es-
tos métodos tienen en común, que requieren de un mallado que da el soporte
a la solución numérica con un orden de convergencia algebraico.
Para reducir los tiempos de cómputo se han desarrollado los métodos li-
bres de malla (Meshless), y, como su nombre lo indica no requieren de un
mallado para obtener la solución numérica de la EDP. Los métodos libres de
mallas están basados en un conjunto independiente de puntos o nodos y el
costo de la generación de la malla es eliminado[22]. Se presenta la solución
numérica de las Ecuaciones Diferenciales Parciales empleando funciones de
base radial, mediante el método de colocación asimétrico; el cual está basado
en un conjunto de nodos aleatorios y no requiere de un proceso de mallado
como ocurre en los métodos de Diferencias Finitas y Elementos Finitos, obje-
tos de estudio de este trabajo. Se profundizará sobre este método al tratarlo
con detalle en el Capítulo IV.
1.4.4. Formulación y Objetivo General
Considerando los criterios de claridad, síntesis y operatividad, el problema
o preguntas que se planteó contestar con este trabajo son: ¿Cómo resolver
una EDP que no tiene solución analítica?, ¿Los métodos aproximados son
una alternativa de solución para las EDP’s que no tienen solución analítica?,
¿Los métodos aproximados son realmente confiables?, ¿Qué método aproxi-
mado es el más recomendable para resolver EDP’s del tipo parabólico? Con
estas interrogantes planteadas el problema específico, objeto de este trabajo,
se formuló en los términos: “¿Cómo desarrollar las Ecuaciones Diferenciales
Parciales Parabólicas mediante Diferencias Finitas, Elementos Finitos y Mesh-
less?”. A partir de aquí se plantean los objetivos de este trabajo.
10
Objetivo General
Resolver las ecuaciones diferenciales parciales parabólicas aplicando los
métodos: Diferencias Finitas, Elementos Finitos y Meshless, determinando su
grado de confiabilidad y, presentándolos en forma didáctica como un material
científico, útil para el aprendizaje a nivel de pregrado en los cursos de ingenie-
ría.
Objetivos Específicos
Revisar las metodologías de solución aproximada de las EDP’s parabó-
licas .
Determinar la validez de las soluciones numéricas de las EDP’s, contras-
tando con las soluciones analíticassobre problemas con solución analíti-
ca conocida.
Comparar los resultados obtenidos con los tres métodos sobre un pro-
blema con solución analítica conocida.
Presentar un material didáctico para la enseñanza de este tipo de EDP’s
a nivel superior.
Capítulo 2
Diferencias Finitas
2.1. Ecuación Diferencial Parcial Unidimensional
Se trabajará en este Capítulo con las ecuaciones diferencialles parcia-
les homogéneas y no homogéneas. Se define como una EDP homogénea a
aquella de la forma f(Ut, Uxx, U) = 0; mientras que, una ecuación de la forma
f(Ut, Uxx, U, x, t) = 0 será una EDP no homogénea.
2.1.1. Ecuaciones Homogéneas
Se inicia el análisis de este método encontrando la solución aproximada de
la ecuación parabólica típica, la del Calor y sin fuentes, en el intervalo acotado
0 ≤ x ≤ a, aplicando el Método de Diferencias Finitas (MDF).
Sea
Ut(x, t) = cUxx(x, t), (2.1)
con la condición inicial
U(x, 0) = f(x), 0 < x < a, t = 0, (2.2)
y las condiciones de frontera
U(0, t) = 0, para x = 0 y 0 < t ≤ b, (2.3)
U(a, t) = 0, para x = a y 0 < t ≤ b; (2.4)
11
12
en donde c es una constante térmica que depende del problema particular.
Se trata de sustituír la EDP (2.1), dada en un punto (x, t) cualquiera, por
una aproximación basada en fórmulas en diferencias finitas para las derivadas.
En forma arbitraria, tomando una diferencia progresiva en el tiempo para
Ut(x, t), discretizando en intervalos iguales de magnitud k, se tiene[4]
Ut(x, t) =U(x, t+ k)− U(x, t)
k− 1
2Utt(x, η1)k, (2.5)
en donde t < η1 < t+ k.
Para la derivada espacial, la fórmula en diferencias espaciales, centrada y
discretizada en intervalos iguales de magnitud h es[4]
Uxx(x, t) =U(x+ h, t)− 2U(x, t) + U(x− h, t)
h2− 1
12Utttt(ζ1, t)h
2, (2.6)
siendo x < ζ1 < x+ h
Remplazando las ecuaciones (2.5) y (2.6) en (2.1), la ecuación del calor
en un punto cualquiera (x,t) es
U(x, t+ k)− U(x, t)
k= c
U(x+ h, t)− 2U(x, t) + U(x− h, t)h2
+ E, (2.7)
siendo el error de truncamiento
E =1
2Utt(x, η1)k,−
1
12Utttt(ζ1, t)h
2. (2.8)
Ahora, no se puede resolver la ecuación (2.7) por ser el error E desconocido.
Se procede, entonces, a ignorar el error de truncamiento E, obteniendo de
esta forma una aproximación de la ecuación (2.7), que es
U(x, t+ k)− U(x, t)
k= c
U(x+ h, t)− 2U(x, t) + U(x− h, t)h2
. (2.9)
Es importante hacer notar que el error de truncamiento local, dado por la ecua-
ción (2.8), es el máximo entre O(k) y O(h2). Como el error E → 0, cuando
h→ 0 y k → 0, se puede decir que la aproximación dada por la ecuación (2.9)
es consistente con la ecuación en derivadas parciales dada por la ecuación
(2.1).
Se espera que la solución U(x, t) aproximada, encontrada al resolver la
ecuación (2.9), se aproxime de forma precisa a la solución exacta que se en-
contraría al resolver (2.7).
13
Por otra parte, la ecuación (2.9) involucra puntos separados que permiten
introducir una malla espacio - tiempo, representado en la Figura 2.1, mediante
una discretización constante en el tiempo (k).
Figura 2.1: Mallado espacio - tiempo.
En este mallado, se divide la magnitud espacial x, de longitud a, en n
intervalos iguales; cada uno de longitud h = a/n, obteniendo (n + 1) puntos,
que en forma general se pueden representar
xi = (i− 1)h i = 1, 2, ...(n+ 1).
En forma análoga para el tiempo b, k = bm
, siendo m el número de intervalos
iguales en que se divide el tiempo b
tj = (j − 1)k, j = 1, 2, ..., (m+ 1)
Por tanto, la temperatura exacta en un punto de la malla se aproxima por
U(xi, tj), que satisface la ecuación (2.9).
Ahora, se debe pensar ya en llevar todo este proceso a la programación;
para lo cual se introduce la notación
U(xi, tj) = U(i, j) o U(xi−h, tj+2k) = U(i− 1, j + 2);
bajo esta notación, la ecuación (2.9) toma la forma
U(i, j + 1)− U(i, j)
k= c
U(i+ 1, j)− 2U(i, j) + U(i− i, j)h2
, (2.10)
para i = 2, 3, ..., n y j > 1.
14
Adicionalmente, se puede verificar que la ecuación (2.10) satisface la con-
dición inicial en los puntos de la malla
U(x, 0) = U(i, 1) = f(xi), i = 2, 3, ..., n; (2.11)
y las condiciones de frontera
U(0, t) = U(1, j) = 0, j > 1 (2.12)
U(a, t) = U(n+ 1, j) = 0, j > 1. (2.13)
Ahora, si se define
r =ck
h2, (2.14)
remplazando en la ecuación (2.10) y simplificando la misma se tiene
U(i, j + 1) = U(i, j) + r[U(i+ 1, j)− 2U(i, j) + U(i− i, j)], (2.15)
siendo r un parámetro adimensional.
El valor U(i, j + 1) es una combinación lineal de tres valores en el nivel
temporal j, debidamente especificados (Ver Figura 2.2).
Figura 2.2: Esquema de diferencias progresivas.
El cálculo de los valores de la solución aproximada, para la primera colum-
na de la malla, se encuentra aplicando la condición inicial
U(i, 1) = f(xi), i = 2, 3, ..., n.
Luego, por la ecuación (2.15), se obtienen los valores de la solución U(i, 2),
i = 2, 3, ..., n; es decir, se calculan los valores de la segunda columna de la
15
malla; permitiendo continuar con el cálculo en forma análoga para las demás
columnas.
Los valores de la solución en las fronteras de la malla; es decir, los de las
filas 1 y (n + 1), se obtienen aplicando las condiciones de frontera dadas por
las ecuaciones (2.12) y (2.13).
De esta forma se puede resolver esta EDP, discreta, numéricamente. El
método propuesto se programa fácilmente en un computador personal, el mis-
mo que se desarrollará y explicará con detalle, más adelante al resolver los
problemas propuestos para este trabajo.
Como se puede observar, la ecuación en diferencias parciales (2.15) de-
pende principalmente de r = ckh2
. Se debe, por tanto, entender como escoger
r para poder obtener soluciones numéricas razonables, asociadas con la EDP
en estudio y, que sean una buena aproximación a la solución exacta del pro-
blema.
Análisis de la estabilidad del método
El método de separación de variables, utilizado para resolver analíticamen-
te una EDP, se puede aplicar también a una ecuación en diferencias parciales;
es decir, suponiendo que la ecuación (2.15) tiene soluciones producto de la
forma U(i, j) = θiϕj. Se pueden obtener soluciones homogéneas sustituyen-
do en esta θi = Qi[4].
No es de interés, en el presente trabajo, profundizar el cálculo analítico;
pero analizando en forma rápida, las condiciones de contorno φ0 = φn = 0
sugieren que la solución pueda oscilar. Esto ocurre cuando Q es complejo1,
con |Q| = 1, por lo que una sustitución equivalente es [4]
φi = (|Q|eiθ)i = eiθi = eiθ(xih) = eiαxi
Sobre la base de lo último anotado y para analizar la estabilidad del método ex-
plícito, se toman soluciones producto especiales, con número de onda α, con-
siderando tj = (j−1)k, j = 1, 2, ..., (m+1) y xi = (i−1)h, i = 1, 2, ..., (n+1);
1La notación utilizada en este trabajo para un número complejo es z = a+ bi, para diferen-
ciarle del contador i.
16
según el mallado propuesto (ver Figura 2.1)
U(i, j) = eiαxiQtjk = eiα(i−1)hQ(j−1). (2.16)
Sustituyendo (2.16) en (2.15)
eiα(i−1)hQ(j) = eiα(i−1)hQ(j−1) + r[eiα(i)hQ(j−1) − 2eiα(i−1)hQ(j−1) + eiα(i−2)hQ(j−1)]
Sacando el factor común eiα(i−1)hQ(j−1) y simplificando en la última expresión
Q = 1 + r[eiαh − 2 + e−iαh]
Q = 1− 2r[1− ( eiαh+e−iαh
2)];
pero
( eiαh+e−iαh
2) = cos(αh),
entonces, el valor de Q que se obtiene es
Q = 1− 2r[1− cos(αh)]. (2.17)
Ahora, se puede utilizar una combinación lineal de las funciones e±iαx para la
ecuación (2.16), que se ajusten a las condiciones del PVF.
La condición de frontera U(0, t) = 0 se cumple con la función sen(αx).
La condición U(a, t) = 0 implica que α = nπa, n = 1, 2, 3, ....
Por tanto, hay solución para el PVF, dado por las ecuaciones (2.15), (2.12) y
(2.13), de la forma
U(i, j) = sen
(nπxia
)Q
tjk ,
en donde Q se determina a partir de la ecuación (2.17), obteniendo una solu-
ción producto U(x, t) de la ecuación en derivadas parciales
U(i, j) = sen
(nπxia
)[1− 2r
(1− cos
(nπh
a
))] tjk
, n = 1, 2, ..., (n− 1),
(2.18)
siendo r = ckh2
. El número máximo de auto funciones independientes para esta
ecuación, en diferencias parciales, es[4] n = (n− 1).
En la ecuación (2.18), la dependencia en el tiempo está dada por
Qtjk =
[1− 2r
(1− cos
(nπ
n
))] tjk
. (2.19)
17
Pero, el valor que toma Q es fundamental para lograr oscilaciones convergen-
tes, en el tiempo, para la solución[4].
Si Q > 1 o Q < −1, existe un crecimiento exponencial en el tiempo de la
solución buscada.
Si 0 < Q < 1 o −1 < Q < 0, se presenta un decaimiento exponencial.
Si Q = ±1, la solución es constante en el tiempo.
Ahora, es posible que haya una oscilación convergente en el tiempo si |Q| ≤ 1.
El valor de Q, por tanto, determina la estabilidad. En resumen, si |Q| ≤ 1
para todas las soluciones, el esquema numérico es estable; caso contrario es
inestable.
Por tanto, si |Q| ≤ 1, la solución no será nunca una exponencial perma-
nente creciente en el tiempo; pero, a medida que decae exponencialmente, la
solución puede ser una oscilación convergente o divergente. Lo que se pre-
tende es que el esquema numérico tenga solo oscilaciones convergentes en
el tiempo. Aclarando esto último, las oscilaciones convergentes no reproducen
el comportamiento de la ecuación en derivadas parciales; pero garantizan que
decaen.
Por otra parte, el valor de r juega un papel muy importante para Q. Si r
es demasiado grande Q puede llegar a ser demasiado negativa; pero, debe
cumplirse para que la solución sea estable |Q| ≤ 1; es decir −1 ≤ Q ≤ 1, de la
cual Q ≥ −1.
Remplazando Q en la ecuación (2.19)[1− 2r
(1− cos
(nπ
n
))]≥ −1, n = 1, 2, ..., (n− 1);
despejando r
r ≤ 1
1− cos(nπn
) ;
pero, r debe ser menor o igual al valor más pequeño que se obtiene cuando
n = (n − 1), ya que en el denominador de expresión anterior cos( nπn
) → −1;
por tanto
0 < 1− cos(nπ
n
)< 2.
18
Interesa, por simplificar el problema, tomar el límite superior.
r ≤ 1
2<
1
1− cos(
(n−1)πn
) .Por tanto, existe la garantía de que la solución numérica será estable si
r ≤ 1
2. (2.20)
Se realiza, a continuación, algunas interpretaciones al valor de r:
Si r > 12, la solución numérica contendrá una oscilación divergente. Se
llama a este efecto Inestabilidad Numérica.
Si r > 12, la solución que crece más rápidamente corresponde a una
oscilación rápida en el espacio n = n− 1.
Como r = ckh2
y r ≤ 12, se puede escribir
k ≤12h2
c(2.21)
Como h debe ser pequeño, entonces k debe ser demasiado pequeño.
Si por el contrario, los pasos k en el tiempo son demasiado grandes, el
esquema se convierte en inestable.
En resumen, para obtener soluciones razonables en el método explícito se
debe cumplir r ≤ 1/2; para lo cual:
1. Para un número de puntos n de discretización de la variable espacial
(0 < x < a), calculamos el espaciamiento h con la fórmula h = a/(n− 1).
2. Si es dato del problema el espaciamiento k, de la discretización de la
variable temporal (0 < t < b), calculamos el valor de r con la fórmula
r = ck/h2, siendo c una constante de la EDP en estudio.
3. Si r ≤ 1/2 el método es estable y la solución es razonable. Pero, si
r ≥ 1/2 se debe calcular un nuevo valor para k aplicando la fórmula
k ≤ h2/(2c).
4. Finalmente, con lo valores de h, k y c se calcula el nuevo valor de r que
hace que el método explícito sea estable.
El esquema planteado, como se manifestó al inicio, se conoce como explícito.
19
2.1.2. Ecuaciones No Homogeneas
Las EDP’s parabólicas como la del calor, con fuentes, es un caso típico de
estas ecuaciones. Podemos resolver numéricamente esta ecuación en forma
análoga a las EDP’s homogéneas.
Sea
Ut(x, t) = cUxx(x, t) + q(x, t), (2.22)
con la condición inicial
U(x, 0) = f(x), 0 < x < a, t = 0,
y las condiciones de frontera
U(0, t) = g1(t), para x = 0 y 0 < t ≤ b,
U(a, t) = g2(t), para x = a y 0 < t ≤ b;
en donde c es una constante térmica en la EDP.
Utilizando diferencias progresivas en el tiempo y diferencias centradas en
el espacio, ecuaciones (2.5) y (2.6) respectivamente, reemplazando en (2.22)
se obtiene la siguiente aproximación numérica.
U(i, j + 1)− U(i, j)
k= c
U(i+ 1, j)− 2U(i, j) + U(i− 1, j)
h2+ q(xi, tj), (2.23)
para i = 2, 3, ..., n y j > 1; sujeta a las condiciones
U(i, 1) = f(xi), j = 0, i = 2, 3, ..., n
U(1, j) = g1(tj), i = 1, j > 1
U(n+ 1, j) = g2(tj), i = (n+ 1), j > 1
La solución se obtiene fácilmente calculando U(i, j+1), a partir de la ecua-
ción (2.23).
El análisis de estabilidad, realizado anteriormente, es válido también para
problemas no homogéneos (se demuestra en forma análoga); es decir, para
estos cálculos se tomará
r =ck
h2≤ 1
2
20
2.2. Otros esquemas numéricos
El esquema explícito, analizado anteriormente, utiliza diferencias progresi-
vas en el tiempo con espaciamiento k muy pequeño y diferencias centradas
en el espacio. Además, es estable si ckh2≤ 1
2.
Este esquema numérico tiene un costo computacional alto y, el error de
truncamiento corresponde a la suma de O(k) y O(h2). Ahora, solo si r = 12
se
consigue ambos errores con un orden de aproximación O(h2), ya que en este
caso k = rh2
c.
Entonces, es necesario contar con un esquema numérico de menor costo
computacional; así por ejemplo: están el esquema de Richardson y Crank -
Nicolson.
2.2.1. Esquema de Richardson
La propuesta es intentar obtener unas diferencias en el tiempo más pre-
cisas. Es así que Richardson, en 1927, propuso utilizar diferencias centradas
para el tiempo y para el espacio; para lo cual planteó la ecuación
U(i, j + 1)− U(i, j − 1)
2k= c
U(i+ 1, j)− 2U(i, j) + U(i− i, j)h2
,
para i = 2, 3, ..., n y j > 1.
Simplificando esta última expresión y llamando r = ckh2
, se tiene la ecuación
U(i, j + 1) = U(i, j − 1) + 2r[U(i+ 1, j)− 2U(i, j) + U(i− 1, j)]
En este caso, el error de truncamiento es la suma de los errores O(k2) y O(h2).
Este esquema no se analizará en el presente trabajo; pero, aunque es más
preciso que el esquema explícito, por lo general, es un método numérico muy
inestable [4] [5].
2.2.2. Esquema de Crank - Nicolson
Crank y Nicolson (en 1947) sugirieron una nueva alternativa de utilizar las
diferencias centradas. El artificio es interpretar una diferencia progresiva en el
21
tiempo
Ut(i, j) =U(i, j + 1)− U(i, j)
k,
como una diferencia centrada alrededor del punto (i, j + 12) (Figura 2.3).
Expliquemos esto con el PVF dado por las ecuaciones (2.1), (2.2), (2.3),
y (2.4), despreciando el error de truncamiento. Para el nivel j, la diferencia
progresiva en el tiempo es
Figura 2.3: Esquema del punto (i, j + 12).
Ut(i, j) =U(i, j + 1)− U(i, j)
k; (2.24)
y la diferencia centrada en el espacio es
Uxx(i, j) =U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2. (2.25)
Remplazando las ecuaciones (2.24) y (2.25) en la ecuación (2.1) nos queda
U(i, j + 1)− U(i, j)
k= c
U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2. (2.26)
Ahora, aplicando el esquema regresivo en el nivel j + 1, considerando la dife-
rencia regresiva en el tiempo
Ut(i, j + 1) =U(i, j + 1)− U(i, j)
k, (2.27)
y la diferencia centrada espacial
Uxx(i, j + 1) =U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2, (2.28)
22
al reemplazar (2.27) y (2.28) en (2.11), se tiene
U(i, j + 1)− U(i, j)
k= c
U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2. (2.29)
Para cumplir con el esquema de Crank-Nicholson, se sumaron las ecuaciones
(2.26) y (2.29); obteniendo
2U(i, j + 1)− U(i, j)
k= c
[U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2(2.30)
+U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2
].
El error al aproximar Ut(i, j+ 12) es del orden O(k2). La discretización realizada
para Uxx(i, j + 12) con esquemas de diferencias centradas es del orden O(h2).
La ecuación (2.30) corresponde al valor de la función discretizada en este
punto intermedio del tiempo, correspondiendo a la media entre t y t + k. Esto
representa el esquema de Crank-Nicolson[4] [1].
Entre las ventajas más importantes del método se pueden resaltar:
El error de truncamiento corresponde a la suma de O(h2) y O(k2).
Este método tiene la ventaja de ser estable[4] para todo r = ckh2
.
El valor de k puede ser tan grande como queramos ya que el error es del
orden O(h2), permitiendo realizar un menor costo computacional; que
hera lo que se quería alcanzar.
Se conoce al esquema de Crank-Nicolson como Implícito.
Como desventaja del método, como se puede ver en la Figura 2.4, utiliza
seis puntos; tres de los cuales corresponden al tiempo posterior. Esto impi-
de avanzar directamente hacia adelante en el tiempo aplicando la ecuación
(2.30), sino que para cada nivel de tiempo calculado se requiere resolver un
sistema de (n-2) ecuaciones, con una matriz de coeficientes tridiagonal.
Este método implícito, con detalle y con la programación correspondiente,
se desarrollará más adelante al resolver los problemas seleccionados para
este trabajo.
23
Figura 2.4: Esquema Implícito.
2.3. Ecuación Bidimensional
Aplicamos criterios análogos a las EDP’s unidimensionales para encontrar
soluciones numéricas a los PVF bidimensionales.
Sea la EDP
Ut(x, t) = α(Uxx(x, t) + Uyy(x, t)). (2.31)
Se requiere la construcción de una malla bidimensional, discretizada, según
se indica en la Figura 2.5.
Utilizando diferencias progresivas para Ut y diferencias centradas en x y y
para el Laplaciano, y despreciando el error de truncamiento, se tiene
Ukt (i, j) =
Uk+1(i, j)− Uk(i, j)
p(2.32)
Ukxx(i, j) =
Uk(i− 1, j)− 2Uk(i, j) + Uk(i+ 1, j)
h21(2.33)
Ukyy(i, j) =
Uk(i, j − 1)− 2Uk(i, j) + Uk(i, j + 1)
h22(2.34)
Reemplazando (2.32), (2.33) y (2.34) en (2.31) se tiene
Uk+1(i, j)− Uk(i, j)
p= α
[Uk(i− 1, j)− 2Uk(i, j) + Uk(i+ 1, j)
h21(2.35)
+Uk(i, j − 1)− 2Uk(i, j) + Uk(i, j + 1)
h22
]
24
Figura 2.5: Malla discretizada bidimensional.
La ecuación (2.35) nos permite avanzar directamente hacia adelante con
el tiempo; es decir encontramos el valor de la solución Uk+1(i, j), utilizando 5
puntos conocidos del nivel temporal anterior k (Ver Figura 2.6). Pero, por ser
un método explícito es importante considrar criterios de estabilidad.
Figura 2.6: Esquema Explícito bidimensional.
2.3.1. Análisis de la estabilidad del método
Como se analizó anteriormente, este esquema explícito puede ser ines-
table. Ignorando las condiciones de contorno para este análisis, nos interesa
investigar el posible crecimiento de las ondas periódicas en la variable espa-
cial. Tomando soluciones producto especiales, con números de ondas γ1 y γ2,
25
para x y y respectivamente
Uk(i, j) = ei(γ1xi)+γ2yjQtkp
Considerando que:
tk = (k − 1)P, k = 1, 2, ..., (l + 1)
xi = (i− 1)h1, i = 1, 2, ..., (n+ 1)
yj = (j − 1)h2, j = 1, 2, ..., (m+ 1);
según el mallado propuesto (ver Figura 2.5), se tiene
Uk(i, j) = ei(γ1(i−1)h1)+γ2(j−1)h2Qk−1 (2.36)
Por otra parte, por facilidad para este análisis de estabilidad, se considera
h1 = h2 = h; por lo que la ecuación (2.35) toma la forma
Uk+1(i, j)− Uk(i, j)
p=
α
h2[Uk(i− 1, j) + Uk(i+ 1, j) (2.37)
+Uk(i, j − 1) + Uk(i, j + 1)− 4Uk(i, j)]
Sustituyendo la ecuación (2.36) en (2.37)
ei(γ1(i−1)h)+γ2(j−1)hQk − ei(γ1(i−1)h)+γ2(j−1)hQk−1 = r[ei(γ1(i)h)+γ2(j−1)hQk−1
+ei(γ1(i−2)h)+γ2(j−1)hQk−1
+ei(γ1(i−1)h)+γ2(j)hQk−1
+ei(γ1(i−1)h)+γ2(j−2)hQk−1
+ei(γ1(i−1)h)+γ2(j−1)hQk−1]
Sacando factor común ei(γ1(i−1)h)+γ2(j−1)hQk−1 y simplificando la expresión an-
terior, se tiene:
Q = 1 + 2r[ eiγ1h+e−iγ1h
2+ ejγ2h+e−jγ2h
2− 2],
es decir
Q = 1 + 2r[cos(γ1h) + cos(γ2h)− 2]. (2.38)
Para garantizar la estabilidad se sabe que |Q| ≤ 1; es decir −1 ≤ Q ≤ 1.
Vamos a considerar Q ≥ −1. Entonces, la ecuación (2.38) toma la forma
1 + 2r[cos(γ1h) + cos(γ2h)− 2] ≥ −1,
26
y
r < − 1
cos(γ1h) + cos(γ2h)− 2. (2.39)
Además, se puede afirmar con exactitud
−4 < cos(γ1h) + cos(γ2h)− 2 < 0
Interesa, por simplificar el problema, tomar el de mayor valor; es decir
cos(γ1h) + cos(γ2h)− 2 = −4
Considerando la expresión anterior, la ecuación (2.39) se puede escribir
r ≤ 1
4;
es decir
r =αp
h2≤ 1
4(2.40)
2.4. Ejercicios de aplicación
Se pretende estudiar la ecuación del calor, con temperatura cero en los
extremos, por ser un problema físico relevante [4][1] correspondiente a una
varilla unidimensional (0 < x < a), sin fuentes (homogéneo) y con fuente (no
homogéneo), con ambos extremos sumergidos en un depósito a 0 de tempe-
ratura; y, de esta forma descubrir cómo cambia la energía térmica inicial dada
por la condición inicial. Además, resolver el problema homogéneo permitirá
poder resolver el problema no homogéneo.
2.4.1. Problema tipo
Sea la ecuación diferencial del calor
Ut(x, t) = Uxx(x, t) para 0 ≤ x ≤ 1 y 0 ≤ t <∞,
con la condición inicial de temperatura
U(x, 0) = sen(πx) · (1 + 2cos(πx)) para t = 0 y 0 < x < 1,
27
y sus condiciones de frontera (o de contorno) a considerarU(0, t) = 0 para x = 0 y 0 < t <∞,
U(1, t) = 0 para x = 1 y 0 < t <∞.
Se tiene como solución exacta de este problema la función U(x, t) = sen(πx)e−π2t+
sen(2πx)e−4π2t. Para un mallado de (nxm) puntos de discretización de las va-
riables espacial y temporal, las líneas de programación, en Matlab, que per-
miten representar gráficamente la solución exacta U(x, t) se encuentran en la
tabla de algoritmos, en el programa denominado Algoritmo 1, problema tipo,
solución exacta.
Ejecutando esta función de Matlab, para los datos del problema, se tiene la
solución exacta U(x, t) que se encuentra en la tabla de matrices con el nombre
Solución exacta, problema tipo.
La gráfica de la solución exacta, del problema en estudio, se representa
en la Figura 2.7.
Figura 2.7: Solución exacta. Problema tipo
2.4.2. Problema tipo. Esquema explícito
Use el esquema explícito para resolver el problema tipo, usando mallados
correspondientes. Compare los resultados obtenidos de la aproximación con
la solución exacta de este problema en los niveles de tiempo indicados:
28
a). n=19, m=39 y en el nivel de tiempo t = 0,5.
b). n=39, m=99 y en el nivel de tiempo t = 2.
Para resolver este problema, es necesario recurrir a la programación; es
decir, se va a desarrollar un programa computacional (en Matlab) que permita
hacer diferentes corridas para poder visualizar de mejor manera los resultados
de la solución aproximada U(x, t) obtenida.
Representemos el PV F dado, de la siguiente manera:
Ut(x, t) = c2Uxx, para 0 < x < a y 0 < t ≤ b, (2.41)
U(x, 0) = f(x) para 0 < x < a y t = 0, (2.42)
U(0, t) = g1(t) para x = 0 y 0 ≤ t ≤ b, (2.43)
U(a, t) = g2(t) para x = a y 0 ≤ t ≤ b. (2.44)
La discretización de este problema se realiza mediante el mallado de la Figura
2.8, en donde n es el número de puntos en que se divide la variable espacial a
ym el número de puntos en que se divide b, espaciados h y k respectivamente.
Figura 2.8: Mallado del problema tipo.
29
El cálculo de los valores de la solución aproximada U(x, t) se realiza de la
siguiente manera:
Cálculo de la primera columna
Para t1 = 0; es decir si j = 1, se aplica la condición inicial dada por la
ecuación (2.42)
U(i, 1) = f(xi), i = 2, 3, ..., (n− 1). (2.45)
Cálculo de la segunda columna y las restantes
Las fórmulas en diferencias finitas para las derivadas primera y segunda
en t y x respectivamente son:
Ut(i, j) =U(i, j + 1)− U(i, j)
k+O(k) (2.46)
Uxx(i, j) =U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2+O(h2) (2.47)
Remplazando las ecuaciones (2.46) y (2.47) en la ecuación (2.41); y,
despreciando el error de truncamiento se tiene:
U(i, j + 1)− U(i, j)
k= c2
U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2
Ahora, definiendo r = kc2
h2, en la expresión anterior, se tiene
U(i, j + 1)− U(i, j) = rU(i− 1, j)− 2rU(i, j) + rU(i+ 1, j).
Simplificando y ordenando esta última expresión
U(i, j+1) = rU(i−1, j)+(1−2r)U(i, j)+rU(i+1, j), i = 2, 3, ..., (n−1).
(2.48)
La ecuación (2.48) es la ecuación en diferencias explícita y se emplea
para calcular las aproximaciones en la columna (j + 1)_ésima de la ma-
lla, a partir de las aproximaciones de la columna j_ésima, permitiéndo
avanzar en el tiempo.
Programando las ecuaciones (2.45) y (2.48), en Matlab, se obtienen el pro-
grama que se encuentra en la tabla de algoritmos con el nombre Algoritmo 2,
problema tipo, método explícito (ver tabla de algoritmos).
30
Es importante indicar la forma de ingresar los datos para ejecutar el pro-
grama en mención. La función, en Matlab, que ejecuta el programa tiene la
forma:
>> U=Problema_1_Explicito(f,g1,g2,a,b,c,n,m);
en donde: f es la función f(x) dada de la condición inicial, g1 y g2 son los
valores de las funciones de las condiciones de frontera, a es la magnitud de
la variable espacial x, b es el tiempo a considerar, c2 es la constante térmica
de la ecuación diferencial, n es el número de puntos en que se divide x y m el
número de puntos en que se divide el tiempo b.
Ahora, ejecutando el programa para los datos de este problema: fx =
sen(πx) · (1 + 2cos(πx)), g1(t) = g2(t) = 0, a = 1 y c = 1.
Para n = 19, m = 39 y t = 0,5
>> U=Problema_1_Explicito(’sin(pi*x)*(1+2*cos(pi*x))’,’0’,’0’,1,
0.5,1,19,39)
La matriz U resultante, evaluada en cada uno de los puntos de la malla, se en-
cuentra en la tabla de matrices con el nombre Solución aproximada, problema
tipo, método explícito (ver tabla de matrices).
La gráfica de la solución aproximada U(x, t), de este problema, se repre-
senta en la Figura 2.9.
Figura 2.9: Solución aproximada. Problema tipo, explícito
31
Observando, por simple inspección (Figura 2.10), las soluciones aproxima-
da y exacta son completamente diferentes. Pero ¿Que está pasando?
Figura 2.10: Soluciones aproximada y exacta. Problema tipo, comparación.
Recordemos que en el punto 2.1.1, de este trabajo, se estudió la estabi-
lidad del método explícito y se llegó a concluir que este método es estable
(ecuación (2.20)) si
r ≤ 1
2.
El programa ejecutado nos proporciona el valor de r para este problema y,
según se puede ver en la corrida de este programa
r = 4,2632 >1
2
Por tanto, la solución aproximada contendrá una oscilación divergente; es decir
esta solución crece rápidamente cuando t → m, produciéndose un efecto de
inestabilidad numérica. Esto se puede apreciar en el gráfico de esta solución
(Figura 2.9) y en los valores muy grandes de la matriz solución aproximada,
columnas 37, 38 y 39
También se dijo que para que se produzca esta inestabilidad numérica,
el paso k de la variable temporal no es demasiado pequeño. El conseguir la
estabilidad del método producirá un costo computacional muy alto.
Ahora, se va a conseguir la estabilidad del método explícito. Para esto, se
debe cumplir
r =c2k
h2≤ 1
2,
32
de la cual,
k ≤12h2
c2,
es decirb
m− 1≤
12h2
c2.
Despejando m de la última expresión
m ≥ bc2
12h2
+ 1.
Por tanto, con los datos del problema se tiene
m ≥ 325.
Es por el valor de m, muy grande, que se concluye que el costo computacional
es muy alto. Nuevamente se realiza la corrida de este ejercicio, tomando el
valor de m = 339.
La solución U(x, t), para m = 339, se encuentra en la tabla de matrices
con el nombre Solución aproximada, problema tipo, método explícito estable.
El tiempo requerido por este programa, para encontrar la solución aproxi-
mada U(x, t), en segundos, es
tiempo =
0.3552
>>
Esto permite concluir que el costo computacional es alto.
La gráfica de la solución aproximada, bajo estas nuevas consideraciones,
se representa en la figura 2.11.
Como se puede observar, la solución aproximada encontrada se aproxima
mucho a la solución exacta representada matricialmente y graficada, ya que
se ha conseguido un valor de
r = 0,4793 <1
2.
33
Figura 2.11: Solución aproximada. Problema tipo explícito, estable.
Ahora, para responder el literal b), es decir para n = 39 m = 99 y t = 2,
se tiene un valor de r = 29,17 > 12; por lo que el método explícito es inesta-
ble. Con la finalidad de conseguir la estabilidad de este método se procede a
calcular el valor de m adecuado, de manera que se cumpla con el criterio de
estabilidad del método explícito r ≤ 12.
Del cálculo realizado en el literal a), de este problema
m ≥ bc2
12h2
+ 1.
Con los datos del literal b), se tiene
m ≥ 5776.
Tomando m = 5776 se procede a ejecutar el programa del algoritmo 1.
La gráfica de la solución aproximada U , del problema en estudio, bajo
estas nuevas consideraciones se representa en la Figura 2.12.
Como se puede observar, el valor de m es demasiado grande; es decir, el
espaciamiento de la variable temporal k es demasiado pequeño y por tanto el
costo computacional muy alto.
Es necesario por tanto, para reducir este costo, encontrar un nuevo método
aproximado de solución. El método que se propone a continuación desarrollar
es el de Crank-Nicolson, explicado en la sección 2.2 de este trabajo.
34
Figura 2.12: Solución aproximada. Problema tipo, m = 5776.
2.4.3. Problema tipo. Esquema de Crank - Nicolson
Use el esquema de Crank - Nicolson para resolver el problema tipo, usan-
do mallados correspondientes. Compare los resultados obtenidos de la apro-
ximación con la solución exacta de este problema en los niveles de tiempo
indicados:
a). n=19, m=39 y en el nivel de tiempo t = 0,5.
b). n=39, m=99 y en el nivel de tiempo t = 2.
Para resolver este PVF, es necesario desarrollar el método de Crank-Nicolson
y llevarlo a la programación.
Como se explicó anteriormente, en el punto 2.2.2 de este trabajo y, toman-
do en consideración el mallado de la Figura 2.8, la diferencia progresiva en el
tiempo, en el nivel j,es
Ut(i, j) =U(i, j + 1)− U(i, j)
k+O(k); (2.49)
y la diferencia centrada en el espacio es
Uxx(i, j) =U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2+O(h2). (2.50)
35
Remplazando las ecuaciones (2.49) y(2.50) en la ecuación (2.41), consideran-
do c = 1 y despreciando el error de truncamiento, se tiene
U(i, j + 1)− U(i, j)
k=U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2. (2.51)
En forma análoga, en el nivel j + 1, para las diferencias regresiva y centrada
se tiene
Ut(i, j + 1) =U(i, j + 1)− U(i, j)
k+O(k), (2.52)
Uxx(i, j + 1) =U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2+O(h2), (2.53)
respectivamente. Remplazando las ecuaciones (2.52) y(2.53) en (2.41), con la
misma consideración para c y para el error de truncamiento
U(i, j + 1)− U(i, j)
k=U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2(2.54)
Ahora, para cumplir con el esquema de Crank-Nicholson se deben sumar las
ecuaciones (2.51) y (2.54)
2U(i, j + 1)− U(i, j)
k=
U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2
+U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2.
Haciendo r = kh2
en la última expresión, dividiendo para r y simplificando se
tiene:
U(i− 1, j + 1) +2 + 2r
rU(i, j + 1)− U(i+ 1, j + 1) = U(i− 1, j) (2.55)
+2− 2r
rU(i, j)
+U(i+ 1, j),
para i = 2, 3, ..., (n− 1).
Por tanto, la ecuación (2.55) permite, a partir de los valores de la solución
U del nivel j, conocer las incógnitas de la solución U en el nivel j+1, formando,
para cada columna de cálculo, un sistema de ecuaciones.
Cálculo de la primera columna de la representación matricial del
sistema.
36
Para t = 0, es decir si j = 1 y para 0 < xi < 1, i = 2, 3, ...(n−1), aplicamos
la condición inicial, dada por la ecuación (2.42)
U(i, 1) = sen(πxi)(1 + 2cos(πxi)) = f(xi).
Cálculo de la primera y última filas de la representación matricial
del sistema.
Se aplican las condiciones de frontera para j = 1, 2, ...,m
U(1, j) = 0
U(n, j) = 0
Cálculo de las filas segunda en adelante de la representación ma-
tricial del sistema.
En la ecuación (2.55), para valores de i = 2, 3, ...(n− 1), haciendo
S1 = 2+2rr
, S2 = 2−2rr
; y, considerando que
U(1, j + 1) = 0, U(1, j) = 0, U(n, j + 1) = 0 y U(n, j) = 0, se tiene:
Para i = 2
−U(1, j + 1) + S1U(2, j + 1)− U(3, j + 1) = U(1, j) + S2U(2, j) + U(3, j)
Para i = 3
−U(2, j + 1) + S1U(3, j + 1)− U(4, j + 1) = U(2, j) + S2U(3, j) + U(4, j)
Para i = 4
−U(3, j + 1) + S1U(4, j + 1)− U(5, j + 1) = U(3, j) + S2U(4, j) + U(5, j)
Para i = 5
−U(4, j + 1) + S1U(5, j + 1) − U(6, j + 1) = U(4, j) + S2U(5, j) + U(6, j)
En forma análoga, continuando con este proceso, para i = n− 1
−U(n− 2, j + 1) + S1U(n− 1, j + 1)− U(n, j + 1) = U(n− 2, j)
+S2U(n− 1, j)
+U(n, j)
37
Las ecuaciones anteriormente obtenidas forman el sistema matricial de ecua-
ciones, con las incógnitas U(2, j+1), U(3, j+1), U(4, j+1), U(5, j+1), ..., U(n−
1, j + 1), representado en el cuadro 2.1.
Para la programación de este método, se tomaron las siguientes conside-
raciones:
Las incógnitas U(i, j + 1), i = 2, 3, ..., (n − 1) de la columna j + 1 se
encuentran resolviendo el sistema matricial de ecuaciones, en el que los
términos independientes están formados por los valores conocidos de la
función solución U de la columna anterior j. Las incógnitas de la colum-
na j + 2 se obtendrán resolviendo el sistema que tiene como términos
independientes a los valores de la solución U de la columna j + 1. Es
decir, se debe resolver el sistema para cada columna de incógnitas que
se quiera encontrar.
El sistema que se forma siempre es un sistema tridiagonal
Sobre la base de lo anterior indicado, el programa desarrollado para el proble-
ma en estudio, se encuentra en la tabla de algoritmos con el nombre Algoritmo
3, problema tipo, Crank - Nicolson.
En primer lugar se va a responder el literal a), del Problema tipo, aplicando
el método de Crank-Nicolson; es decir:
Para t = 0,50, n = 19 y m = 39
Ejecutando el programa, para los datos del problema, se tiene la solución
U(x, t) que se encuentra en la tabla de matrices con el nombre Solución apro-
ximada, problema tipo, literal a).CrankNicolson.
El tiempo requerido por este programa, para encontrar la solución aproxi-
mada U(x, t), en segundos, es
tiempo =
0.3045
>>
La gráfica de la solución aproximada U, del problema en estudio, con las con-
sideraciones señaladas se encuentra en la Figura 2.13.
38
Cuadro 2.1: Sistema matricial, problema tipo, Crank - Nicolson
10
00
00
00
00
0S1−
10
00
00
00
0−
1S1−
10
00
00
0
00−
1S1−
10
00
00
00
0−
1S1−
10
00
0
00
00−
1S1−
10
00
. . .. . .
. . .. . .
. . .. . .
. . .. . .
. . .. . .
00
00
00−
1S1−
10
00
00
00
0−
1S1
0
00
00
00
00
01
U(1,j
+1)
U(2,j
+1)
U(3,j
+1)
U(4,j
+1)
U(5,j
+1)
U(6,j
+1)
. . . U(n−
2,j
+1)
U(n−
1,j
+1)
U(n,j
+1)
=
g 1(t
1)
S2U
(2,j
)+U
(3,j
)
U(2,j
)+S2U
(3,j
)+U
(4,j
)
U(3,j
)+S2U
(4,j
)+U
(5,j
)
U(4,j
)+S2U
(5,j
)+U
(6,j
)
U(5,j
)+S2U
(6,j
)+U
(7,j
) . . .
U(n−
4,j)
+S2U
(n−
3,j)
+U
(n−
2,j)
U(n−
3,j)
+S2U
(n−
2,j)
+U
(n−
1,j)
U(n−
2,j)
+S2U
(n−
1,j)
39
Figura 2.13: Solución aproximada. Problema tipo, literal a), Crank-Nicolson
Se puede observar que la solución aproximada U(x, t), obtenida con el
método de Crank-Nicolson, es bastante aproximada a la solución exacta en-
contrada en el Problema tipo (Figura 2.7), de este trabajo. En el Capítulo 5 se
realizará el cálculo del error cometido en la aproximación.
Además, podemos comprobar lo anotado anteriormente, que este método
es estable para cualquier valor de r (r = 4,2632).
Para n = 39, m = 99 y t = 2 Aplicando el esquema de Crank-Nicolson y
ejecutando el programa para los datos de este problema, se tiene la solución
U(x, t) que se encuentra en la tabla de matrices con el nombre Solución apro-
ximada, problema tipo, literal b), Crank −Nicolson.
La gráfica de la solución aproximada U del problema en estudio, bajo estas
nuevas consideraciones se representa en la Figura 2.14.
Ahora, se debe conocer la solución exacta y su representación gráfica
correspondiente; para lo cual, se debe ejecutar el programa Algoritmo 2, para
los datos de este problema.
La solución exacta U(x, t) se encuentra en la tabla de matrices con el
nombre Solución exacta, problema tipo, literal b).
40
Figura 2.14: Solución aproximada. Problema tipo, literal b).Crank −Nicolson
La representación gráfica de la solución exacta, para los datos del proble-
ma en estudio, se representan en la Figura 2.15.
Figura 2.15: Solución exacta. Problema tipo, literal b).
Comparando los valores de las soluciones aproximada y exacta, se puede
concluir que con el método de Crank-Nicolson se tiene una buena aproxima-
ción a la solución exacta.
2.4.4. Problema 2 (No Homogéneo)
Use el esquema de Crank - Nicolson para resolver la siguiente EDP, no
homogénea, usando mallados correspondientes, si:
Ut(x, t) = Uxx(x, t) + q(x, t), 0 < x < 1 y 0 < t <∞ y q(x, t) = 10x+ t.
41
con la condición inicial de temperatura
U(x, 0) = sen(πx) · (1 + 2cos(πx)) para t = 0 y 0 < x < 1,
y con las condiciones de frontera (o de contorno) a considerarU(0, t) = 0 para x = 0 y 0 < t <∞,
U(1, t) = −t para x = 1 y 0 < t <∞,
Desarrollo de un programa computacional para PVF no Homogéneos.
Los diferentes problemas unidimensionales varían por lo general por las con-
diciones inicial, de frontera y por la EDP misma; dando lugar a un PVF No
Homogéneo.
Es necesario por tanto desarrollar un programa computacional que resuel-
va algunas formas de la EDP, con sus condiciones de frontera e inicial. Se
aplicará, por tanto, el esquema de Crank-Nicolson, para resolver un PVF no
homogéneos.
Sea
Ut(x, t) = c2Uxx(x, t) + q(x, t), 0 < x < a, 0 < t ≤ b. (2.56)
Con la condición inicial
U(x, 0) = f(x), t = 0, 0 < x < a, (2.57)
y, con las condiciones de frontera
α1U(0, t) + β1Ut(0, t) = g1(t), x = 0, 0 < t ≤ b, (2.58)
α2U(a, t) + β2Ut(a, t) = g2(t), x = a, 0 < t ≤ b. (2.59)
Siendo: c, α1, α2, β1, β2 constantes numéricas, q(x, t) una fuente externa, f(x)
una función dada por la condición inicial y g1(t), g2(t) funciones de t para las
condiciones de frontera.
Considerando el mallado de la Figura 2.8 y aplicando la diferencia progre-
siva, en el tiempo, para el nivel j
Ut(i, j) =U(i, j + 1)− U(i, j)
k+O(k), (2.60)
42
y la diferencia centrada para la variable espacial, en el mismo nivel de tiempo
Uxx(i, j) =U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2+O(h2) (2.61)
Se tiene remplazando las ecuaciones (2.60) y (2.61) en (2.56), despreciando
el error de truncamiento
U(i, j + 1)− U(i, j)
k= c2
U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2+ q(xi, tj) (2.62)
Ahora, aplicando la diferencia regresiva en el tiempo y centrada en la variable
espacial, para el nivel j + 1, se tiene
Ut(i, j + 1) =U(i, j + 1)− U(i, j)
k+O(k) (2.63)
Uxx(i, j + 1) =U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2+O(h2) (2.64)
Remplazando las ecuaciones (2.63) y(2.64) en (2.56) y realizando la misma
consideración para el error de truncamiento, se tiene
U(i, j + 1)− U(i, j)
k=
U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2/c2
+q(xi, tj+1) (2.65)
Para cumplir con el esquema de Crank-Nicolson sumamos las ecuaciones
(2.62) y (2.65)
2U(i, j + 1)− U(i, j)
k= c2
U(i− 1, j)− 2U(i, j) + U(i+ 1, j)
h2
+c2U(i− 1, j + 1)− 2U(i, j + 1) + U(i+ 1, j + 1)
h2
+q(xi, tj) + q(xi, tj+1)
En la expresión anterior haciendo r = c2kh2
, se tiene
−rU(i− 1, j + 1) + (2 + 2r)U(i, j + 1)− rU(i+ 1, j + 1) = rU(i− 1, j)
+(2− 2r)U(i, j)
+rU(i+ 1, j)
+k[q(xi, tj)
+q(xi, tj+1)]
43
Dividiendo para r en la última expresión
−U(i− 1, j + 1) + (2
r+ 2)U(i, j + 1)− U(i+ 1, j + 1) = U(i− 1, j)
+(2
r− 2)U(i, j)
+U(i+ 1, j)
+k
r[q(xi, tj)
+q(xi, tj+1)]
Ahora, llamemos S1 = 2r
+ 2, S2 = 2r− 2 y S3 = k
ry remplazando en la última
expresión se tiene
−U(i− 1, j + 1) + S1U(i, j + 1)− U(i+ 1, j + 1) = U(i− 1, j) (2.66)
+S2U(i, j) + U(i+ 1, j)
+S3[q(xi, tj)
+q(xi, tj+1)],
para i = 2, 3, ...(n− 1)
Cálculo de la primera columna de la representación matricial del
sistema
Para t = 0, es decir si j = 1 y para 0 < xi < a, i = 2, 3, ...(n − 1),
aplicamos la condición inicial dada por la ecuación (2.57). Se tiene
U(i, 1) = f(xi)
Cálculo de la primera y última filas de la representación matricial
del sistema
Para este problema, las condiciones de frontera izquierda y derecha, en
forma general se pueden escribir, respectivamente
α1U(i, j) + β1Ut(i, j) = g1(tj) (2.67)
α2U(i, j) + β2Ut(i, j) = g2(tj) (2.68)
Ahora, se desarrollará la discretización de estas condiciones de frontera:
44
Para la frontera izquierda (ecuación (2.67)), aplicando las diferencias
progresivas a Ut se tiene
α1U(1, j) + β1
(U(1,j+1)−U(1,j)
k
)= g1(tj);
es decir
kα1 + β1U(1, j + 1)− β1U(1, j) = kg(tj).
De esta última expresión se tiene
U(1, j + 1) = −(kα1 − β1)β1
U(1, j) +k
β1g1(tj). (2.69)
Ahora, en forma análoga para la frontera derecha (ecuación (2.68)), aplica-
cando diferencias regresivas a Ut, se tiene
α2U(n, j) + β2
(U(n,j)−U(n,j−1)
k
)= g2(tj)
De esta última expresión
U(n, j + 1) =
(β2
kα2 + β2
)U(n, j) +
(k
kα2 + β2
)g2(tj+1) (2.70)
Cálculo de las filas segunda en adelante de la representación ma-
tricial del sistema
De la ecuación (2.66), para valores de i = 2, 3, ...(n− 1), se tiene:
Para i = 2
−U(1, j + 1) + S1U(2, j + 1)− U(3, j + 1) = U(1, j) + S2U(2, j)
+U(3, j) + +S3[q(x2, tj)
+q(x2, tj+1)]
Remplazando la ecuación (2.69) en la última expresión y simplificando
se tiene
S1U(2, j + 1)− U(3, j + 1) =
(1− kα1 − β1
β1
)U(1, j) + S2U(2, j)
+U(3, j) + S3[q(x2, tj) + q(x2, tj+1)]
+k
β1g1(tj)
Para i = 3
45
−U(2, j + 1) + S1U(3, j + 1)− U(4, j + 1) = U(2, j) + S2U(3, j)
+U(4, j) + S3[q(x3, tj)
+q(x3, tj+1)]
Para i = 4
−U(3, j + 1) + S1U(4, j + 1)− U(5, j + 1) = U(3, j) + S2U(4, j)
+U(5, j) + S3[q(x4, tj)
+q(x4, tj+1)]
Para i = 5
−U(4, j + 1) + S1U(5, j + 1)− U(6, j + 1) = U(4, j) + S2U(5, j)
+U(6, j) + S3[q(x5, tj)
+q(x5, tj+1)]
En forma análoga, continuando con este proceso hasta i = n − 1, se
tiene
−U(n− 2, j + 1) + S1U(n− 1, j + 1)− U(n, j + 1) = U(n− 2, j)
+S2U(n− 1, j)
+U(n, j)
+S3[q(xn−1, tj)
+q(xn−1, tj+1)]
Remplazando la ecuación (2.70) en la última expresión nos queda
−U(n− 2, j + 1) + S1U(n− 1, j + 1) = U(n− 2, j) + S2U(n− 1, j)
+
(1 +
β2kα2 + β
)U(n, j)
+S3[q(xn−1, tj) + q(xn−1, tj+1)]
+
(k
kα2 + β2
)g2(tj+1)
Las ecuaciones anteriormente obtenidas, para i = 2, 3, ...(n − 1), forman el
sitema matricial de ecuaciones, representado en el cuadro 2.2, con las incóg-
nitas:
46
Cuadro 2.2: Sistema matricial, problema 2 no homogéneo.
10
00
00
00
00
0S1−
10
00
00
00
0−
1S1−
10
00
00
0
00−
1S1−
10
00
00
00
0−
1S1−
10
00
0
00
00−
1S1−
10
00
. . .. . .
. . .. . .
. . .. . .
. . .. . .
. . .. . .
00
00
00−
1S1−
10
00
00
00
0−
1S1
0
00
00
00
00
01
U(1,j
+1)
U(2,j
+1)
U(3,j
+1)
U(4,j
+1)
U(5,j
+1)
U(6,j
+1)
. . . U(n−
2,j
+1)
U(n−
1,j
+1)
U(n,j
+1)
=
−kα1−β1
β1
U(1,j
)+
k β1g 1
(tj)
S4U
(1,j
)+S2U
(2,j
)+U
(3,j
)+S3[q
(x2,tj)
+q(x2,tj+
1)]
+k β1g 1
(tj)
U(2,j
)+S2U
(3,j
)+U
(4,j
)+S3[q
(x3,tj)
+q(x3,tj+
1)]
U(3,j
)+S2U
(4,j
)+U
(5,j
)+S3[q
(x4,tj)
+q(x4,tj+
1)]
U(4,j
)+S2U
(5,j
)+U
(6,j
)+S3[q
(x5,tj)
+q(x5,tj+
1)]
U(5,j
)+S2U
(6,j
)+U
(7,j
)+S3[q
(x6,tj)
+q(x6,tj+
1)] . . .
U(n−
3,j)
+S2U
(n−
2,j)
+U
(n−
1,j)
+S3[q
(xn−2,tj)
+q(xn−2,tj+
1)]
U(n−
2,j)
+S2U
(n−
1,j)
+S5U
(n,j
)+S3[q
(xn−1,tj)
+q(xn−1,tj+
1)]
+S6g 2
(tj+
1)
β2
kα2+β2U
(n,j
)+
kkα2+β2g 2
(tj+
1)
47
U(1, j + 1), U(2, j + 1), U(3, j + 1), U(4, j + 1), U(5, j + 1), ..., U(n − 1, j +
1), U(n, j + 1),
Para la programación de este método aproximado, se tomaron las siguien-
tes consideraciones:
Las incógnitas U(i, j + 1), i = 2, 3, ..., (n − 1) de la columna j + 1 se
encuentran resolviendo el sistema matricial de ecuaciones, en el que los
términos independientes están formados por los valores conocidos de la
función solución U de la columna anterior j.
Las incógnitas de la columna j + 2 se obtendrán resolviendo el sistema
que tiene como términos independientes a los valores de la solución U
de la columna j+1. Es decir, se debe resolver un sistema de ecuaciones
para cada columna de incógnitas que se quiera encontrar.
Los valores de U(1, j+1) y U(n, j+1) corresponden a las fórmulas (2.69)
y (2.70), respectivamente.
La programación se realizará aplicando comandos de Matlab.
El programa que se desarrolló, para el PVF planteado, se encuentra en la tabla
de algoritmos con el nombre Algoritmo 4, problema 2 no homogéneo, Crank -
Nicolson.
Antes de resolver el Problema 2, a manera de comprobación, se ajustan
los datos del problema tipo al programa realizado y se ejecuta la corrida co-
rrespondiente. Se espera una solución U(x,t) bastante aproximada a la exacta
y a la obtenida con el programa de Crank-Nicolson homogéneo.
Ejecutando este programa, para el problema tipo se tiene la solución U(x, t)
que se encuentra en la tabla de matrices con el nombre Solución aproximada,
problema tipo, comprobación.
La gráfica de la solución aproximada U , del Problema tipo, con las consi-
deraciones señaladas, se representa en la Figura 2.16.
Comparando los valores obtenidos como solución aproximada U(x, t), se
observa, con satisfacción, que son muy aproximados a los de la solución exac-
ta.
48
Una vez establecida la confianza en el programa, se resuelve a continua-
ción el Problema 2, propuesto:
Figura 2.16: Solución aproximada. Problema tipo (algoritmo 4), comprobación.
Para t = 0,5, n = 19, m = 39 con fuente q(x, t) = 10x + t
Ejecutando el programa para el problema 2 no homogéneo, se tiene la so-
lución U(x, t) que se encuentra en la tabla de matrices con el nombre Solución
aproximada, problema 2 no homogéneo.
La gráfica de la solución aproximada U, del problema 2, se representa en
la Figura 2.17.
Figura 2.17: Solución aproximada. Problema 2 no homogéneo (algoritmo 4).
Con fines didácticos se encuentra en el ANEXO A el desarrollo de la solu-
ción numérica, de un PVF bidimensional (Problema 3), por el esquema explí-
cito aplicando diferencias finitas.
49
Conclusiones de fin de capítulo
Para el problema tipo, esquema explícito, valores de m < 325 hacen que
el método sea inestable y la solución aproximada contendrá una oscila-
ción divergente. La estabilidad se consigue reduciendo el espaciamiento
entre puntos de la variable temporal.
El esquema de Crank – Nicolson, para su estabilidad numérica, no de-
pende de los valores de discretización de las variables espacial y tempo-
ral n y m respectivamente; es decir, es estable para cualquier valor del
parámetro r.
Con este capítulo se ha hecho una breve introducción en este fascinante mun-
do de las EDP’s, del tipo parabólico; dando algunos conceptos, criterios y he-
rramientas que permitirán enfrentar los PVF, de mejor forma, en busca de una
solución.
Capítulo 3
Elementos Finitos
3.1. El Método de Elementos Finitos.
El MEF es utilizado con frecuencia para resolver Ecuaciones Diferencia-
les Parciales. No se pretende con este trabajo hacer un análisis exhaustivo
del método, ya que muchos libros tratan sobre esto; sino más bien dar una
orientación de su aplicación pedagógica en las EDP’s del tipo parabólico uni-
dimensional. Para lograr esto se resolverá un problema específico, de solución
analítica conocida, que permita comparar y determinar el grado de la aproxi-
mación.
3.1.1. Métodos existentes
Existe una gran cantidad de EDP’s, del tipo parabólico, que no han sido
resueltos por las dificultades encontradas en los métodos analíticos, espe-
cialmente por la no linealidad de las ecuaciones y también por la geometría
irregular que pueden tener los dominios en donde se pretende encontrar una
solución.
El Método de los Elementos Finitos (MEF) está muy relacionado con los
métodos variacionales y con los métodos de residuos pesados. Este último
puede tener la forma de los métodos de Galerkin, mínimos cuadrados y colo-
cación [11].
El método de los residuos pesados utiliza el concepto de la proyección or-
50
51
togonal del residuo de una ecuación diferencial, sobre un subespacio formado
por ciertas funciones de peso.
En el MEF, se pueden usar los principios variacionales cuando estos exis-
ten; o, los residuos pesados a través de aproximaciones.
En este trabajo, el método de Galerkin será considerado en la formulación
de los modelos de elementos finitos, ya que no requieren principios variacio-
nales. Es decir, se utilizará el MEF combinado con el método de Galerkin; por
ser el más conveniente[21].
3.1.2. Utilidad del MEF
Muchos problemas en los que las fronteras presentan alguna simetría, se
pueden resolver con EDP’s lineales; pero, por lo general muchos problemas
de estudio pueden tener configuraciones nada simétricas en la que con los
métodos analíticos es imposible encontrar una solución. Además, métodos
aproximados como por ejemplo el de las diferencias finitas son óptimos con
dominios regulares de estudio; como es el caso, en este trabajo.
La ventaja del MEF está en que las superficies de un cuerpo se puede
conformar por regiones pequeñas o elementos, tantos como sean necesarios
para lograr un perfil aproximado del cuerpo, con condiciones de frontera dife-
rentes entre regiones adyacentes, ajustándose más a la realidad de muchos
problemas[10].
3.1.3. Un poco de historia del MEF
El MEF fue inicialmente desarrollado por ingenieros estructurales de avia-
ción en los años 50’s para analizar sistemas estructurales en los aviones[11].
La aplicación del MEF a problemas no estructurales, tales como flujo de
fluidos y electromagnetismo fue iniciado por Zienkiewiez y Cheung (1965), los
mismos que han dado un impulso significativo al MEF, el método variacional de
Rayleigh (1877)-Ritz (1909) y los métodos de Residuos Pesados, modelados
después con el método de Galerkin (1965); ya que existe una relación muy
importante entre ellos[11].
52
En años resientes, muchos autores han contribuido al desarrollo de la teo-
ría matemática de elementos finitos. A partir de la década de los 80, y con
la ayuda de computadores personales, se propaga y se culturiza el uso de
programas comerciales que se especializan en diversos campos, instaurán-
dose el uso de pre y pos-procesadores gráficos que realizan el mallado y la
representación gráfica de los resultados.
Continúan los estudios de la aplicación del método a nuevos modelos de
comportamiento como: plasticidad, fractura, daño continuo, etc. y en el análisis
de los errores[10].
En la actualidad, dentro del campo estructural, el MEF comparte prota-
gonismo con el método matricial, siendo muchos los programas que mezclan
el análisis por ambos métodos, debido sobre todo a la mayor necesidad de
memoria que requiere el análisis por elementos finitos[10].
La aplicación del MEF es única para el análisis de elementos continuos,
tipo losa o pantalla, para los cuales el MEF ha desarrollado una increíble pre-
cisión. Al día de hoy, las computadoras avanzadas son capaces de dar resul-
tados exactos para todo tipo de parámetros.
3.1.4. Descripción general del MEF
Comprende de manera general en dividir el dominio en regiones peque-
ñas llamadas elementos, los cuales pueden ser de forma triangular, cuadráti-
ca, etc. Para este trabajo se considera de forma triangular (ver Figura 3.1). El
elemento lineal unidimensional es un segmento de línea con una longitud L
y dos nodos, uno en cada extremo. Estos elementos, mediante una interpola-
ción, pueden describir el comportamiento de estos subdominios. Los puntos
llamados nodos son especificados para cada elemento y a cada uno de ellos le
corresponde un valor de las variables de la EDP, que se obtiene interpolando
dentro de cada elemento.
Usando el método de los elementos finitos, las ecuaciones diferenciales
que rigen para el dominio se transforman en ecuaciones de elementos fini-
tos, que gobiernan aisladamente a cada uno de los elementos y son de forma
53
algebraica[10]. Luego, se debe formar un sistema global ensamblando conve-
nientemente estas ecuaciones. En este sistema podemos introducir las condi-
ciones de frontera e inicial, según se requiera.
Finalmente, los valores de la solución, en los nodos, se determinan al re-
solver un sistema de ecuaciones algebraica. Todo esto requerirá por tanto
desarrollar un algoritmo de programación que facilite los cálculos a realizar,
en la búsqueda de esta solución.
3.1.5. Descripción matemática del MEF
El desarrollar un algoritmo de elementos finitos, para resolver un PVF que
comprende ecuaciones diferenciales y condiciones de contorno, requiere de
las siguientes etapas:[10]
El problema debe reformularse en forma variacional.
El dominio de variables independientes, para este caso un dominio es-
pacial, debe dividirse mediante una partición en subdominios, llamados
elementos finitos. Asociada a esta partición se construye un espacio vec-
torial de dimensión finita, llamado espacio de elementos finitos, siendo la
solución numérica aproximada obtenida por elementos finitos una com-
binación lineal en dicho espacio vectorial.
Obtener la proyección del problema variacional original sobre el espacio
de elementos finitos obtenido de la partición. Esto da lugar a un sistema
con un número de ecuaciones finito. El número de incógnitas será igual
a la dimensión del espacio vectorial de elementos finitos obtenido y, en
general, cuanto mayor sea dicha dimensión tanto mejor será la aproxi-
mación numérica obtenida.
Finalmente, se debe realizar el cálculo numérico de la solución a través
de un sistema de ecuaciones.
Con la metodología explicada, lo que se consigue es construir un problema de
cálculo diferencial en un problema de álgebra lineal. Dicho problema en gene-
54
ral se plantea sobre un espacio vectorial de dimensión no-finita, pero que pue-
de resolverse aproximadamente encontrando una proyección sobre un subes-
pacio de dimensión finita, y por tanto con un número finito de ecuaciones[21].
La discretización en elementos finitos ayuda a construir un algoritmo de
proyección sencillo, logrando además que la solución por el método de ele-
mentos finitos sea generalmente exacta en un conjunto finito de puntos. Estos
puntos coinciden usualmente con los vértices de los elementos finitos[21].
3.2. Desarrollo de las EDP’s del tipo parabólico,
unidimensional, por el MEF
Se va a desarrollar el MEF, en una EDP del tipo parabólico, encontrando
sus formulaciones, aplicado a un PVF dado, que permita entender cómo opera
este método, presentado en forma didáctica
3.2.1. Formulación débil
Se debe construir una Formulación Débil de la EDP en estudio; es decir,
la ecuación debe ser planteada en un espacio de funciones adecuado y luego
verificar la existencia de la solución de la formulación débil para esta EDP.
Para deducir la formulación débil de una EDP, en un intervalo [0, a], se
debe[21]:
1. Suponer que existe la solución u de la EDP.
2. Multiplicar los dos lados de la ecuación por una función de prueba 1 v,
v ∈ C∞0 ([0, a]), e integrar ambos lados de la igualdad.
3. Aplicar la fórmula de integración por partes y las condiciones de frontera
para obtener una expresión con el menor orden posible de derivada.1El espacio C∞
0 (Ω) = v ∈ C∞(Ω) : v = 0 en Γ ⊂ ∂Ω, C∞(Ω) es el conjunto de las
funciones continuamente diferenciables (existen todas sus derivadas en Ω).
55
4. Cambiar el espacio v ∈ C∞0 ([0, a]) por V , v ∈ V , siendo el espacio de
funciones de prueba V el más grande posible.
5. Escoger también el espacio de funciones de forma U tal que u ∈ U .
6. Los espacios de funciones U y V más recomendados[21] son los de
Hilbert2, definidos en [0, a].
7. Las integrales que se obtienen deben estar definidas en estos espacios.
8. Para toda u ∈ U se tiene que imponer la condición de frontera.
Sea Ω = [0, a] ∈ R el dominio del problema, al obtener la formulación débil
se puede garantizar la existencia de la solución,3 de esta formulación, que se
conoce como solución débil de la ecuación original. La solución del problema
original se conoce como solución fuerte.
3.2.2. Construcción de la formulación débil
Sea la ecuación parabólica del calor
ut(x, t)− cuxx(x, t) = f(x), 0 < x < a, 0 < t ≤ b, (3.1)
con la condición inicial
u(x, 0) = g(x), 0 < x < a, t = 0, (3.2)
y las condiciones de frontera
u(0, t) = u(a, t) = 0, para 0 < t ≤ b, (3.3)
en donde c es la constante térmica de la Ecuación Diferencial.
En primer lugar se multiplica la ecuación (3.1) por una función de prueba
v ∈ C∞0 ([0, a])
ut(x, t)v(x)− cuxxv(x) = f(x)v(x),
2Se define H1(Ω) = v ∈ L2(Ω) | v′ ∈ L2(Ω)3Para probar la existencia de soluciones débiles se puede aplicar el teorema de Lax-
Milgram, cuyo enunciado y demostración encontramos con detalle en [12]
56
e integrar ambos lados de esta igualdad.∫ a
0
utv(x)dx− c∫ a
0
uxxv(x)dx =
∫ a
0
f(x)v(x)dx. (3.4)
Ahora, se aplica la fórmula de integración por partes en el segundo término
del lado izquierdo de la ecuación (3.4), para reducir el orden de derivación.
Sea u = v(x), du = v′(x)dx, dv = uxxdx, por tanto v = ux. Con la fórmula
de integración∫udv = uv|a0 −
∫vdu, se tiene
−∫ a
0
uxxv(x)dx = −uxv(x)|a0 +
∫ a
0
uxv′(x)dx = −|ux(a, t)v(a)
−ux(0, t)v(0)|
+
∫ a
0
uxv′(x)dx.
Como v ∈ C∞0 ([0, a]), se cumple por definición que v(a) = v(0) = 0. Por tanto,
la última expresión queda
−∫ a
0
uxxv(x)dx =
∫ a
0
uxv′(x)dx. (3.5)
Entonces, el PVF dado por las ecuaciones (3.1), (3.2) y (3.3), junto con las
ecuaciones (3.4) y (3,5), se puede escribir como:
∫ a0utv(x)dx+ c
∫ a0uxv
′(x)dx =∫ a0f(x)v(x)dx, ∀ v ∈ C∞0 ([0, a])
u(x, 0) = g(x), para 0 < x < a
u(0, t) = u(a, t) = 0, para 0 < t ≤ b
(3.6)
Para que la expresión (3.6) sea la formulación débil del PVF dado por las
ecuaciones (3.1), (3.2) y (3.3), escogemos los espacios de funciones U y V
más adecuados[21], en donde u ∈ U , v ∈ V y C∞0 ([0, a]) ⊂ V.
Ahora, definiendo
A =
∫ a
0
uxv′(x)dx, ∀ v ∈ V y u ∈ U, (3.7)
como una forma bilineal, en donde A : UxV → R.
Además, sea
F =
∫ a
0
f(x)v(x)dx, ∀ v ∈ V, (3.8)
57
siendo F : V → R, una función lineal.
Entonces, la formulación matricial débil semi-discreta (tiempo continuo),
se puede escribir como:
∫ a0ut(x, t)v(x)dx+ cA(u, v) = F(v), ∀ v ∈ V, u ∈ U
u(x, 0) = g(x) para 0 < x < a
u(0, t) = u(a, t) = 0 para 0 < t ≤ b
(3.9)
La formulación (3.9), por ser de tiempo continuo, no es posible resolver con
programación; además, la∫ a0ut(x, t)v(x)dx no siempre tiene solución analí-
tica. Por tanto, es necesario discretizar el tiempo para poder encontrar una
aproximación de la solución.
Discretización del tiempo continuo
Para la discretización del tiempo [9], se sabe que
ut(x, t) ' u(x,t+4t)−u(x,t)4t ,
con un orden de la aproximación O(4t). Usando la notación
ut(x, t) 'u(x, t+4t)− u(x, t)
4t
=um − um−14t
, (3.10)
en donde tm = t+4t, tm−1 = t, um = u(x, t+4t) y um−1 = u(x, t),
al reemplazar la ecuación (3.10) en la EDP de la formulación (3.9), se tiene∫ a
0
um − um−14t
v(x)dx+ cA(u, v) = F(v).
Esta última expresión se puede escribir como
1
4t
∫ a
0
umv(x)dx+ cA(u, v) = F(v) +1
4t
∫ a
0
um−1v(x)dx.
Ahora, si M : UxV → R es una forma bilineal[21], se definen:
M(um, v) =
∫ a
0
umv(x)dx, ∀ v ∈ V y um ∈ U (3.11)
y
M(um−1, v) =
∫ a
0
um−1v(x)dx, ∀ v ∈ V y um−1 ∈ U. (3.12)
58
Entonces, la formulación débil discreta que se tiene es
14tM(um, v) + cA(um, v) = F(v) + 1
4tM(um−1, v), ∀ v ∈ V,
um, um−1 ∈ U
u(x, 0) = g(x) para 0 < x < a
u(0, t) = u(a, t) = 0 para 0 < t ≤ b
(3.13)
3.2.3. Formulación de Galerkin
Si U y V son el mismo espacio de funciones, sabemos que V es un espacio
de dimensión infinita [21]; pero, debemos cambiar este espacio por uno de
dimensión finita, que corresponderá al espacio de los elementos finitos.
Sea V h, h > 0, V h ⊂ V, un subespacio de dimensión finita. La formulación
de Galerkin, a partir de la formulación débil (3.13), en forma general se puede
escribir como:Sea uhm ∈ V h tal que
14tM(uhm, v
h) + cA(uhm, vh) = F(vh) + 1
4tM(uhm−1, vh), ∀ vh ∈ V h.
(3.14)
Por ser V h un subespacio de dimensión finita, una base de V h es
φ1, φ2, φ3, ..., φNh,
siendo Nh la dimensión de V h, y la solución uhm se puede escribir como una
combinación lineal de esta base; es decir,
uhm = x1φ1 + x2φ2 + x3φ3 + ...+ xNhφNh =Nh∑i=1
xiφi. (3.15)
Tomando en cuenta la ecuación (3.15) en la formulación (3.14), se tiene
1
4t
M(Nh∑i=1
xiφi, vh) + cA(
Nh∑i=1
xiφi, vh) = F(vh) +
1
4t
M(Nh∑i=1
x∗iφi, vh),
59
es decir
1
4t
Nh∑i=1
xiM(φi, vh) + c
Nh∑i=1
xiA(φi, vh) = F(vh) +
1
4t
Nh∑i=1
x∗iM(φi, vh).
El último paso en las dos expresiones anteriores fue posible por ser M y A
formas bilineales.4 Ahora, para verificar la formulación (3.14), es suficiente
hacerlo con las funciones de forma, llamadas funciones de prueba
vh = φj, j = 1, 2, ..., Nh (3.16)
Por tanto, con las ecuaciones (3.15) y (3.16), la formulación de Galerkin (3.14)
se puede escribir comoSea uhm =
∑Nh
i=1 xiφi. tal que
14t
∑Nh
i=1 xiM(φi, φj) + c∑Nh
i=1 xiA(φi, φj) = F(φj) + 14t
∑Nh
i=1 x∗iM(φi, φj),
(3.17)
Por otra parte, la forma bilineal A tienen la siguiente representación matricial[21]:
A = [aij], de dimensión (NhxNh),
tal que
aij = A(φi, φj) i = j = 1, 2, 3, ..., Nh.
En forma análoga, la forma bilineal M tienen la representación matricial
M = [mij], de dimensión (NhxNh),
tal que
mij = M(φi, φj) i = j = 1, 2, 3, ..., Nh.
Además,
B = [bj], j = 1, 2, 3, ..., Nh;
4Una aplicación A : V xV → R es una forma bilineal si A(c1v1 + c2v2, d1w1 + d2w2) =
c1d1A(v1, w1)+c1d2A(v1, w2)+c2d1A(v2, w1)+c2d2A(v2, w2), ∀ ci, di ∈ R y wi, vi ∈ V, i ∈
1, 2.
60
es decir,
B =
b1
b2
b3...
bhN
∈ R, tal que
bj = F(φj), j = 1, 2, 3, ..., Nh.
Con las definiciones últimas, se puede escribir una formulación matricial, equi-
valente a las formulaciones (3.14) y (3.17), de la siguiente maneraSea uhm =
∑Nh
i=1 xiφi. tal que
14t
∑Nh
i=1mijxi + c∑Nh
i=1 aijxi = bj + 14t
∑Nh
i=1mijx∗i , ∀ j = 1, 2..., Nh
(3.18)
Además, si se define[21]
uh∗
m = [xi] ∈ R, i = 1, 2, 3, ..., Nh, (3.19)
en notación matricial, la formulación (3.18) se puede escribirSea uh
∗m ∈ RNh tal que
14tMu
h∗m + cAuh∗m = B + 1
4tMuh∗m−1, ∀ j = 1, 2, 3, ..., Nh
(3.20)
Entonces, la solución de la formulación (3.14) uhm esta dada por la combinación
lineal de las funciones de base φi con el vector uh∗m , solución de la formulación
(3.20)
uhm =Nh∑i=1
φiuh∗
m ;
por tanto, tomando en cuenta la ecuación (3.19) se tiene
uhm =Nh∑i=1
xiφi. (3.21)
Finalmente, es necesario encontrar un espacio de funciones V h adecuado. Su
elección es importante para el método. Para este trabajo, usaremos el espacio
de funciones lineales por partes, basado en una triangulación del dominio del
PVF en estudio[21].
61
3.2.4. Funciones lineales por partes
Es el espacio de los elementos finitos. Sea [0, a] el dominio en donde se
define la EDP. Llamaremos τh a la triangulación de este intervalo, en pequeños
intervalos llamados elementos, los mismos que son de la forma
Ki = [xi, xi+1], i = 1, 2, 3, ..., (Nh − 1).
Los extremos de estos elementos se llaman vértices y se representan
xiNh
i=1,
de forma que
0 = x1 < x2 < x3 < ... < xNh−1 < xNh = a.
Entonces, el espacio de funciones lineales por partes, asociado a la triangula-
ción τh, se puede representar[21] como
P1(τh) = v ∈ C([0, a]) | v = polinomio de grado 1, ∀K ∈ τh,
y
P10(τ
h) = v ∈ P1(τh) | v(x1) = v(xNh) = 0,
en donde los elementos Ki cumplen
Ki ∩Kj =
ki si i = j
∅ si i 6= j
vértice común entre Ki y Kj si j = i+ 1,
y
∪Nh−1i=1 Ki = [0, a].
Por lo anterior expuesto, se toma el espacio V h = P1(τh) en las formulaciones
(3.14) y (3.20). Esta solución, a la que llamaremos uh∗∗m , será la aproximación
por elementos finitos en una partición de [0, a].
Por tanto, la ecuación matricial del sistema es
1
4t
Muh∗∗
m + cAuh∗∗
m = B +1
4t
Muh∗∗
m−1,
62
que equivale a la ecuación matricial[1
4t
M + cA] [uh
∗∗
m
]= [B] +
[1
4t
M] [uh
∗∗
m−1]
;
siendo M, A y B las matrices globales del sistema, en donde por la ecuación
(3.21) uhm = uh∗∗m .
Por tanto [1
4t
M + cA] [uhm]
= [B] +
[1
4t
M] [uhm−1
]; (3.22)
Por otra parte, si Ki = [xi, xi+1], i = 1, 2, 3, ..., (Nh − 1), es un elemento
de la triangulación τh ∈ [0, a], para definir la función de base φ, se realiza el
siguiente análisis[11]
Figura 3.1: Elemento lineal unidimensional.
De la Figura 3.1, la ecuación lineal para Φ es
Φ = a1 + a2x. (3.23)
Se determinan, a continuación, los valores a1 y a2; para lo cual se define
Φ = Φi, si x = xi
y
Φ = Φj, si x = xj; j = i+ 1.
63
Por tanto, las ecuaciones a desarrollar son
Φi = a1 + a2xi (3.24)
Φj = a1 + a2xj. (3.25)
Ahora, si se restan las ecuaciones (3.24) y (3.25), la pendiente de esta recta
es
a2 =Φj − Φi
xj − xi. (3.26)
Al reemplazar (3.26) en (3.24) y despejando a1, se tiene
a1 =Φixj − Φjxixj − xi
. (3.27)
Con los valores de a1 y a2, la ecuación (3.23) queda
Φ =Φixj − Φjxixj − xi
+Φj − Φi
xj − xix.
Simplificando esta última expresión, se tiene
Φ =Φi(xj − x) + Φj(x− xi)
xj − xi, j = i+ 1;
de la cual
Φ = Φixi+1 − xxi+1 − xi
+ Φi+1x− xixi+1 − xi
. (3.28)
La ecuación (3.28) es la forma estándar del elemento finito. Los valores no-
dales son multiplicados por las funciones lineales de x, las cuales llamamos[11]
funciones de forma φ.
Por tanto, las funciones de forma, correspondientes, son:
φi =xi+1 − xxi+1 − xi
. (3.29)
φi+1 =x− xixi+1 − xi
. (3.30)
Además, de las ecuaciones (3.29) y (3.30) podemos deducir
φi(x) =
1 si x = xi
0 si x = xi+1
Extensión lineal si x no es vértice.
Por tanto, el método de los elementos finitos lineales por partes, en una di-
mensión, tiene dos grados de libertad por cada elemento.
64
3.2.5. Ensamblaje de la matriz de elementos finitos
Se define Ri como una matriz de dimensión (2xNh), de acomodo[21] del
elemento Ki. Ri, tiene todos sus elementos nulos excepto en las posiciones
(1, i) y (2, i+ 1), en donde su valor es 1.
Sea AKi la matriz
AKi =
A(φi, φi) A(φi, φi+1)
A(φi+1, φi) A(φi+1, φi+1)
, (3.31)
en donde la forma bilineal A está definida por la ecuación (3.7).
En forma análoga se tendrá para la forma bilineal M, definida por la ecua-
ción (3.11)
MKi =
M(φi, φi) M(φi, φi+1)
M(φi+1, φi) M(φi+1, φi+1)
. (3.32)
Por otra parte
BKi =
FKi(φi)
FKi(φi+1)
, (3.33)
en donde la función lineal F está definida por la ecuación (3.8).
Finalmente, se puede armar las matrices globales del sistema matricial
(3.22), usando los aportes de cada elemento y acomodándolos[21] con las
matrices Ri
A =Nh−1∑i=1
RTi AkiRi, (3.34)
M =Nh−1∑i=1
RTi MkiRi, (3.35)
y
B =Nh−1∑i=1
RTi Bki . (3.36)
Es importante indicar que existe la herramienta pdetool de MATLAB para
resolver EDP’s, en 2 y 3 dimensiones, mediante el método de elementos finitos
[26]. La interfaz gráfica de Matlab pdetool, parte de la “PDE toolbox”, propor-
ciona una herramienta gráfica, de fácil manejo, que permite la descripción de
geometrías complicadas, generación de mallas, resolución de la ecuación dis-
cretizada y representación de resultados.
65
3.3. Ejercicio de aplicación
3.3.1. Problema tipo. Método de elementos finitos
Use el método de elementos finitos para resolver el problema tipo. Compa-
re los resultados obtenidos de la aproximación con la solución exacta de este
problema en el nivel de tiempo indicado:
a). Para n=19, m=39 y en el nivel de tiempo t=0.5.
Desarrollo
En primer lugar, se procede a la construcción de la formulación débil del pro-
blema planteado.
Sea la EDP
ut − uxx = f(x), 0 < x < 1, 0 < t ≤ 1, f(x) = 0. (3.37)
Con fines didácticos, se considerará al final del ejercicio f(x) = 0. Ahora,
multiplicando los dos lados de la ecuación (3.37) por una función de prueba
v ∈ C∞0 ([0, 1]), e integrando ambos lados de la ecuación en el dominio[0, 1], se
tiene ∫ 1
0
utv(x)dx−∫ 1
0
uxxv(x)dx =
∫ 1
0
f(x)v(x)dx.
Integrando por partes en el lado izquierdo de la última expresión, haciendo
u = v(x), du = v′(x)dx, dv = uxxdx,v = ux, se tiene
−∫ 1
0
uxxv(x)dx = −uxv(x)|10 +
∫ 1
0
uxv′(x)dx = −|ux(1, t)v(1)
−ux(0, t)v(0)|
+
∫ 1
0
uxv′(x)dx.
Como v ∈ C∞0 ([0, 1]), se cumple por definición que v(1) = v(0) = 0. Por tanto,
la última expresión queda
−∫ 1
0
uxxv(x)dx =
∫ 1
0
uxv′(x)dx, (3.38)
66
siendo v′(x) función solo de x; entonces, el PVF dado por las ecuaciones del
problema tipo, junto con las ecuaciones (3.37) y (3,38), queda:
∫ 1
0utv(x)dx+
∫ 1
0uxv
′(x)dx =∫ 1
0f(x) · v(x)dx, ∀ v ∈ C∞0 ([0, 1])
u(x, 0) = sen(πx)(1 + 2cos(πx)) = g(x), para t = 0
u(0, t) = u(1, t) = 0, para x = 0, x = 1.
(3.39)
Ahora, para garantizar que la ecuación (3.39) sea la formulación débil de (3.1),
(3.2) y (3.3), se toman los espacios de Hilbert5 definidos en [0,1], V = H10([0, 1])
y U = H1([0, 1]).
Llamamos
A(u, v) =
∫ 1
0
uxv′(x)dx, ∀ v ∈ V y u ∈ U, (3.40)
siendo A : UxV → R una forma bilineal.
Además, llamamos
F(v) =
∫ 1
0
f(x)v(x)dx, ∀ v ∈ V, (3.41)
siendo F : V → R un funcional lineal.
Por tanto, la formulación débil, semi-discreta (tiempo continuo), se puede
escribir como
∫ 1
0utv(x)dx+ A(u, v) = F(v), ∀ v ∈ V y u ∈ U
u(x, 0) = g(x), para t = 0
u(0, t) = u(1, t) = 0, para x = 0, x = 1.
(3.42)
Por otra parte, es necesario discretizar el tiempo. Procediendo en forma análo-
ga a la discretización realizada en el numeral 3.2.2, de este trabajo, y consi-5Todo espacio Euclidiano V , de dimensión finita es un espacio de Hilbert [15] ya que V se
puede identificar como Rd, para un d apropiado. El espacio de matrices cuadradas Mn con
el producto escalar (u, v) =∑n
i
∑ni uijvij , donde u = (uij) ∈ Mn y v = (vij) ∈ Mn es un
espacio de Hilbert.
67
derando las formas bilineales
M(um, v) =
∫ 1
0
umv(x)dx, ∀ v ∈ V y um ∈ U, (3.43)
y
M(um−1, v) =
∫ 1
0
um−1v(x)dx, ∀ v ∈ V y um−1 ∈ U, (3.44)
la formulación débil discreta es finalmente
14tM(um, v) + A(um, v) = F(v) + 1
4tM(um−1, v), ∀ v ∈ V,
um, um−1 ∈ U
u(x, 0) = g(x) para t = 0
u(0, t) = u(1, t) = 0 para 0 < t ≤ 1
(3.45)
Es importante indicar que para resolver el problema planteado, por este méto-
do, se debe construir un programa computacional; para lo cual, es necesario
realizar cálculos manuales con valores de inicio, que permitan luego hacer
generalizaciones para un n cualquiera.
Para n = 6, m = 19
Para la formulación de Galerkin se realiza, en primer lugar, la triangulación
uniforme con seis vértices
τh = x1 = 0, x2 =1
5, x3 =
2
5, x4 =
3
5, x5 =
4
5, x6 = 1;
obteniendo 5 elementos de la triangulación τh
K1 =
[0,
1
5
], K2 =
[1
5,2
5
], K3 =
[2
5,3
5
], K4 =
[3
5,4
5
], K5 =
[4
5, 1
].
Ahora, se construyen las matrices locales AKi ,MKi y Bki, aplicando las ecua-
ciones (3.31), (3.32) y (3.33), respectivamente, del numeral 3.2.5.
Para K1 =[0, 1
5
]Las funciones de base, para este elemento, aplicando las ecuaciones (3.29)
y (3.30) son
φ1(x) =x2 − xx2 − x1
=15− x15
= (1− 5x)
68
φ2(x) =x− x1x2 − x1
=x− 0
15
= (5x)
Por tanto, aplicando las ecuaciones (3.40) y (3.31), se tiene
AK1(φ1, φ1) =
∫K1
φ′1φ′1dx =
∫ 15
0
(−5)(−5)dx = 5
AK1(φ1, φ2) = AK1(φ2, φ1) =
∫K1
φ′1φ′2dx =
∫ 15
0
(−5)(5)dx = −5
AK1(φ2, φ2) =
∫K1
φ′2φ′2dx =
∫ 15
0
(5)(5)dx = 5.
Por tanto
AK1 =
5 −5
−5 5
= 5
1 −1
−1 1
;
y, la matriz de acomodo R1es
R1 =
1 0 0 0 0 0
0 1 0 0 0 0
.Finalmente, ensamblando el primer elemento de la ecuación (3.34), se tiene
Rt1Ak1R1 = 5
1 −1 0 0 0 0
−1 1 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
.
Ahora, construyendo en forma análoga a Ak1 la matriz local Mk1, aplicando las
ecuaciones (3.43) y (3.32), se tiene
MK1(φ1, φ1) =
∫K1
φ1φ1dx =
∫ 15
0
(1− 5x)(1− 5x)dx =1
15
MK1(φ1, φ2) = MK1(φ2, φ1) =
∫K1
φ1φ2dx =
∫ 15
0
(1− 5x)(5x)dx =1
30
MK1(φ2, φ2) =
∫K1
φ2φ2dx =
∫ 15
0
(5x)(5x)dx =1
15.
Por tanto
MK1 =
115
130
130
115
=1
5
13
16
16
13
;
69
y, la matriz de acomodo R1es
R1 =
1 0 0 0 0 0
0 1 0 0 0 0
.Ensamblando el primer elemento de la ecuación (3.35), se tiene
Rt1Mk1R1 =
1
5
13
16
0 0 0 0
16
13
0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
.
Ahora, se debe realizar el montaje de la matriz B. Usando la definición del vec-
tor BKi, ecuación (3.33), se puede construir la matriz B, aplicando la ecuación
(3.41).
Entonces, procediendo a calcular BK1, se tiene
FK1(φ1) =
∫k1
f(x)φ1(x)dx =
∫ 15
0
(0)(1− 5x)dx = 0
FK1(φ2) =
∫k1
f(x)φ2(x)dx =
∫ 15
0
(0)(5x)dx = 0
Por tanto
BK1 =
FK1(φ1)
FK1(φ2)
=
0
0
Para K2 =
[15, 25
]Se procede en forma análoga al elemento anterior. Las funciones de base,
para este elemento, son
φ1(x) =x2 − xx2 − x1
=25− x15
= (2− 5x)
φ2(x) =x− x1x2 − x1
=x− 1
515
= (5x− 1)
Por tanto
AK2(φ1, φ1) =
∫K2
φ′1φ′1dx =
∫ 25
15
(−5)(−5)dx = 5
70
AK2(φ1, φ2) = AK2(φ2, φ1) =
∫K2
φ′1φ′2dx =
∫ 25
15
(−5)(5)dx = −5
AK2(φ2, φ2) =
∫K2
φ′2φ′2dx =
∫ 25
15
(5)(5)dx = 5,
y la matriz local que se tiene es
AK2 =
5 −5
−5 5
= 5
1 −1
−1 1
.La matriz de acomodo R2 es
R2 =
0 1 0 0 0 0
0 0 1 0 0 0
;
y, ensamblando el segundo elemento de la ecuación (3.34), se tiene
Rt2Ak2R2 = 5
0 −0 0 0 0 0
−0 1 −1 0 0 0
0 −1 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
.
Ahora, construyendo la matriz local Mk2, se tiene
MK2(φ1, φ1) =
∫K2
φ1φ1dx =
∫ 25
15
(2− 5x)(2− 5x)dx =1
15
MK2(φ1, φ2) = MK2(φ2, φ1) =
∫K2
φ1φ2dx =
∫ 25
15
(2− 5x)(5x− 1)dx =1
30
MK2(φ2, φ2) =
∫K2
φ2φ2dx =
∫ 25
15
(5x− 1)(5x− 1)dx =1
15.
Por tanto
MK2 =
115
130
130
115
=1
5
13
16
16
13
.La matriz de acomodo R2 es
R2 =
0 1 0 0 0 0
0 0 1 0 0 0
;
71
y, ensamblando el segundo elemento de la ecuación (3.35), se tiene
Rt2Mk2R2 =
1
5
0 0 0 0 0 0
0 13
16
0 0 0
0 16
13
0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
.
Realizando el montaje de la matriz B, se tiene
FK2(φ1) =
∫k2
f(x)φ1(x)dx =
∫ 25
15
(0)(2− 5x)dx = 0
FK2(φ2) =
∫k2
f(x)φ2(x)dx =
∫ 25
15
(0)(5x− 1)dx = 0
Por tanto
BK2 =
FK2(φ1)
FK2(φ2)
=
0
0
.Para Ki = [xi, xi+1], i = 3, 4, 5
Las funciones de base que se obtienen son:
Para K3 =
[2
5,3
5
], se tiene φ1(x) = (3− 5x), φ2(x) = (5x− 2)
Para K4 =
[3
5,4
5
], se tiene φ1(x) = (4− 5x), φ2(x) = (5x− 3)
Para K5 =
[4
5, 1
], se tiene φ1(x) = (5− 5x), φ2(x) = (5x− 4)
Se tienen las siguientes matrices locales
AKi =
5 −5
−5 5
= 5
1 −1
−1 1
, i = 3, 4, 5.
MKi =
115
130
130
115
=1
5
13
16
16
13
, i = 3, 4, 5.
Además, vemos que
BKi =
FKi(φ1)
FKi(φ2)
=
0
0
, i = 3, 4, 5.
72
Ahora, con las matrices locales Aki, Mki y la matriz Bki, para i = 1, 2, ..., 5,
podemos ensamblar las matrices globales A, M y B.
A =5∑i=1
RTi AKiRi = 5
1 −1 0 0 0 0
−1 (1 + 1) −1 0 0 0
0 −1 (1 + 1) −1 0 0
0 0 −1 (1 + 1) −1 0
0 0 0 −1 (1 + 1) −1
0 0 0 0 −1 1
.
M =5∑i=1
RTi MKiRi =
1
5
13
16
0 0 0 0
16
(13
+ 13) 1
60 0 0
0 16
(13
+ 13) 1
60 0
0 0 16
(13
+ 13) 1
60
0 0 0 16
(13
+ 13) 1
6
0 0 0 0 16
13
.
Para este caso especia, por ser f(x) = 0, se tiene
B =5∑i=1
RTi .BKi =
0
0
0
0
0
0
Una vez que se conocen las matrices globales del sistema matricial, aplicando
la ecuación (3.22), se tiene[1
4t
M + A]uhm = [B] +
1
4t
[M]uhm−1;
es decir [1
4t
M + A]uhm =
1
4t
[M]uhm−1. (3.46)
Es importante aclarar que el vector de incógnitas uhm, para los distintos niveles
de 4t, se generan a partir de uhm−1, para t = 0, que corresponde a la función
g(x); dato de este problema.
73
El programa para encontrar la solución aproximada uhm, en Matlab, se en-
cuentra en la tabla de algoritmos con el nombre Algoritmo 5, problema 5,ele-
mentos finitos, n = 6.
La matriz de la solución aproximada uhm que se obtiene se encuentra en la
tabla de matrices con el nombre Solución aproximada, problema tipo, elemen-
tos finitos, n = 6.
La gráfica de la solución aproximada uhm se representa en la Figura 3.2.
Ahora, es importante compararle con la solución exacta, dato de este pro-
blema.
El programa para encontrar la solución exacta se presentó con detalle en
el Capítulo II, numeral 2.4.1 (Problema tipo), de este trabajo.
Ejecutando este programa, se tiene la solución exacta U que se encuentra
en la tabla de matrices con el nombre Solución exacta, problema tipo, MEF,
n = 6.
La gráfica de la solución exacta U, se representa en la Figura 3.2.
De la comparación de las dos matrices solución (Figura 3.2) y de sus grá-
ficas correspondientes, se puede ver claramente que la solución uhm es una
buena aproximación a la solución exacta U .
Figura 3.2: Soluciones aproximada y exacta. Problema tipo, n = 6.
Para n = 19 y m = 39
Corresponde al problema inicialmente planteado y que se desarrollará en
forma análoga a la primera parte de este ejercicio; el mismo que se realizó
con fines didácticos para una discretización de la variable espacial de n = 6.
74
Por tanto, el programa desarrollado en Matlab no se podría aplicar para
n = 19. Es necesario desarrollar un programa general para cualquier valor n,
de discretización, de la variable espacial.
Para el caso de la discretización de la variable temporal; es decir, para el
valor de m, se puede generalizar el programa para un m cualquiera.
La metodología a desarrollar es determinar los coeficientes de las matrices
locales AKi y MKi, para i = 1, 2, 3, ..., (Nh = n), para distintos valores de n y a.
Para n = 9 y a = 2
Se tienen 8 elementos de la triangulación τh
K1 =
[0,
2
8
], K2 =
[2
8,4
8
], K3 =
[4
8,6
8
], ..., K8 =
[14
8,16
8
].
Ahora, se deben construir las matrices locales AKi y MKi, para un ele-
mento Ki.
Para K1 =[0, 2
8
].
Las funciones de base, para este elemento, son
φ1(x) =x2 − xx2 − x1
=28− x28
=8
2(2
8− x)
φ2(x) =x− x1x2 − x1
=x− 0
28
=8
2(x− 0)
Por tanto
AK1(φ1, φ1) =
∫K1
φ′1φ′1dx =
∫ 28
0
(−8
2)(−8
2)dx =
8
2
AK1(φ1, φ2) = AK1(φ2, φ1) =
∫K1
φ′1φ′2dx =
∫ 28
0
(−8
2)(
8
2)dx = −8
2
AK1(φ2, φ2) =
∫K1
φ′2φ′2dx =
∫ 28
0
(8
2)(
8
2)dx =
8
2,
y la matriz local AK1 es
AK1 =
82−8
2
−82
82
=8
2
1 −1
−1 1
.
75
Ahora, construyendo la matriz local Mk1
MK1(φ1, φ1) =
∫K1
φ1φ1dx =
∫ 28
0
8
2(2
8− x)
8
2(2
8− x)dx =
2
24.
MK1(φ1, φ2) = MK1(φ2, φ1) =
∫K1
φ1φ2dx
=
∫ 28
0
8
2(2
8− x)
8
2(x− 0)dx =
2
48
MK1(φ2, φ2) =
∫K1
φ2φ2dx =
∫ 28
0
8
2(x− 0)
8
2(x− 0)dx =
2
24.
Por tanto
MK1 =
224
248
248
224
=2
8
13
16
16
13
.El programa a desarrollar considera f(x) = 0, por tanto no se calculará
BK1, por ser el vector nulo. Para los restantes elementos Ki, se forman
las mismas matrices locales AKi y MKi, para i = 2, 3, ..., 8
Para n = 19 y a = 1
Se tienen 18 elementos de la triangulación τh
K1 =
[0,
1
18
], K2 =
[1
18,
2
18
], K3 =
[2
18,
3
18
], ..., K18 =
[17
18, 1
].
Ahora, se deben construir las matrices locales AKi y MKi, para un ele-
mento Ki
Para K1 =[0, 1
18
].
Las funciones de base, para este elemento, son
φ1(x) =x2 − xx2 − x1
=118− x118
= 18(1
18− x)
φ2(x) =x− x1x2 − x1
=x− 0
118
= 18(x− 0)
Por tanto
AK1(φ1, φ1) =
∫K1
φ′1φ′1dx =
∫ 118
0
(−18)(−18)dx = 18
76
AK1(φ1, φ2) = AK1(φ2, φ1) =
∫K1
φ′1φ′2dx =
∫ 118
0
(−18)(18)dx = −18
AK1(φ2, φ2) =
∫K1
φ′2φ′2dx =
∫ 118
0
(18)(18)dx = 18,
y la matriz local AK1 es
AK1 = 18
1 −1
−1 1
.Ahora, construyendo la matriz local Mk1
MK1(φ1, φ1) =
∫K1
φ1φ1dx =
∫ 118
0
18(1
18− x)18(
1
18− x)dx =
1
54
MK1(φ1, φ2) = MK1(φ2, φ1) =
∫K1
φ1φ2dx
=
∫ 118
0
18(1
18− x)18(x− 0)dx =
1
108
MK1(φ2, φ2) =
∫K1
φ2φ2dx =
∫ 118
0
18(x− 0)18(x− 0)dx =1
54.
Por tanto
MK1 =1
18
13
16
16
13
.Para los restantes elementos Ki, se forman las mismas matrices locales
AKi y MKi, para i = 2, 3, ..., 18
De los cálculos realizados, se pretende generalizar para un valor de n cual-
quiera.
El Cuadro 3.1, es un resumen de los cálculos realizados.
Analizando los coeficientes encontrados, y generalizando para n, se pre-
senta en el Cuadro 3.2 esta generalización, considerando el incremento de la
variable espacial constante.
Por ser el incremento de la variable espacial constante entre todos sus
puntos, se define en forma general para las dos matrices AKi y MKi
4x = xi+1 − xi =a
n− 1(3.47)
77
Cuadro 3.1: Coeficientes de las matrices AKi y MKi.
Longitud espacial Númer puntos Coeficiente AKi Coeficiente MKi
1 6 5 15
2 9 82
28
1 19 18 118
......
......
a n
Cuadro 3.2: Coeficientes generalizados para n.
Longitud espacial Númer puntos Coeficiente AKi Coeficiente MKi
1 6 115
15
2 9 128
28
1 19 1118
118
......
......
a n 1a
n−1= 14x
an−1 = 4x
Tomando en cuenta el análisis realizado; es decir, generalizando para un
n cualquier dada por (3.47), el programa desarrollado en Matlab se encuentra
en la tabla de algoritmos con el nombre Algoritmo 6, problema tipo, elementos
finitos, todo n.
Ejecutando el programa para los datos de este problema, es decir para:
78
a = 1, b=0.5, c = 1 n = 19 y m = 39, se tiene la solución aproximada uhm
que se encuentra en la tabla de matrices con el nombre Solución aproximada,
problema tipo, elementos finitos, n = 19.
Figura 3.3: Solución aproximada. MEF. Problema tipo, n = 19.
El tiempo requerido por este programa, para encontrar la solución aproxi-
mada U(x, t), en segundos, es 0.1472.
La gráfica de la solución aproximada uhm, para este problema, se represen-
ta en la Figura 3.3.
La matriz de la solución exacta y su gráfica correspondiente se calcularon
en el Capítulo II, numeral 2.4.1, de este trabajo.
Comparando las matrices solución y sus gráficas correspondientes, se
puede afirmar que uhm es una buena aproximación de la solución exacta U .
En el Capítulo 5 se realizará el cálculo y análisis del error cometido en la apro-
ximación.
Conclusiones de fin de capítulo
La metodología presentada, para los elementos finitos, parte de una refor-
mulación variacional que se combinó con el método de Galerkin para cambiar
el espacio de funciones inicial a uno que permitió encontrar una solución de la
formulación débil, que equivale a la solución del problema tipo.
Capítulo 4
Meshless
4.1. El método Meshless
Como se trató en los Capítulos anteriores, la solución numérica de las
EDP’s se pueden encontrar por los métodos: diferencias finitas y elementos
finitos. Estos métodos tienen en común que requieren de un mallado, que da
soporte a la solución numérica, con un orden de convergencia determinado1.
El Método de Meshless (MM), propuesto en este capítulo, no requiere de
un mallado para obtener la solución numérica de una EDP. Es un procedi-
miento numérico nuevo, que resuelve las EDP’s a partir de una distribución de
puntos en el dominio del problema, siendo el costo de generación de la malla
eliminado [24].
4.1.1. Un poco de historia del MM
El campo de los métodos libres de mallas es reciente y existen pocas
aplicaciones a problemas temporales con métodos numéricos[22]. Desde los
años 90 se han hecho grandes esfuerzos para desarrollar estrategias numé-
ricas que permitan resolver EDP’s, basadas en la colocación de puntos del
dominio con funciones de base radial (FBR)[23].
Se conocen dos procedimientos generales para llegar a la solución del
1Es el decrecimiento del error obtenido, conforme el número de nodos crece
79
80
problema por medio FBR: método Kansa o asimétrico y método simétrico[24].
En este trabajo aplicaremos el método simétrico[23].
En años recientes ha crecido el interés por los métodos “Meshless” pa-
ra resolver ciertas ecuaciones diferenciales parciales[23]. En este trabajo se
muestra una formulación FBR, práctica, para resolver la ecuación parabólica
homogénea del calor, tratando de incentivar a nuevos estudiosos a incursionar
alrededor de esta estrategia numérica.
4.1.2. La Función de Base Radial (FBR)
Es una función que calcula la distancia Euclidea de un vector de entrada x
con respecto a un centro xj, definida por
r = (||x− xj||).
Si a cada capa de entrada le hacemos corresponde una FBR Φ(x) y un peso
de salida λj, entonces la sumatoria de las capas de entrada da como resultado
una capa de salida, generando las llamadas redes FBR[25].
La función de una red FBR se define[22]
f(x) =N∑i=1
λjΦ(||x− xj||).
Este tipo de redes construyen aproximaciones que son combinaciones lineales
de múltiples funciones locales no lineales y que entre sus aplicaciones más
importantes se encuentran: análisis de series temporales, procesamiento de
imágenes, etc.[25].
4.1.3. El Método Meshless y las Funciones de Base Radial
La interpolación mediante FBR es la herramienta de uso común en el mé-
todo Meshless, pues una de sus fortalezas es el buen comportamiento en el
tratamiento de información dispersa en el espacio[24].
Sea Uexat = u(x, t), x ∈ Rd una función que buscamos aproximar, en
un tiempo t determinado, con una distribución de puntos aleatoria, en donde
81
d es la dimensión del problema; entonces, una aproximación U , considerando
funciones de base radial[22], es una función de la forma
U(x) =N∑j=1
λjΦ(||x− xj||),
siendo: N el número de puntos a ser colocados (llamados centros), λ el vector
de incógnitas, Φ : Rd → R el núcleo radial y || · || la norma Euclideana.
El Método Meshless, en busca de la aproximación U , asume como valores
de esta función desconocida Uexat al conjunto de puntos
xj, Uexatj, j = 1, 2, 3, .., N.
El problema se resuelve asumiendo que la función desconocida Uexat es una
combinación lineal de un conjunto de N funciones[14].
Los coeficientes λj, de la combinación lineal, son obtenidos resolviendo el
sistema lineal que resulta de forzar a la combinación lineal a tomar los valores
dados en los N puntos[14]; es decir,
U(xi) =N∑j=1
λjΦ(||xi − xj||), i = 1, 2, ..., N. (4.1)
Resolver la ecuación (4.1) equivale a resolver el sistema lineal algebraico de
ecuaciones
Ψλ = F, (4.2)
en donde Ψ es la matriz de coeficientes del sistema de dimensión (NxN), λ y
F son de dimensión (Nx1).
Pero, es posible encontrar la solución de (4.2) si la matriz Ψ es no singular;
es decir, si el sistema algebraico resultante no es mal condicionado[22]. Esto
depende mucho del tipo de núcleo radial seleccionado.
Por otra parte, si llamamos
Φ(rij) = Φ(||xi − xj||), i = 1, 2, ..., N, (4.3)
en donde
rij = (√xi − xj)2,
82
las funciones de base radial de soporte global[22], más comunes son
Cuadro 4.1: Funciones de Base RadialNúcleo radial Nombre Soporte
Φ(r) = r2dlog(r) Placa delgada Global
Φ(r) =√r2 + c2 Multicuádrica Global
Φ(r) = e−r2
c2 Exponencial Global
Como se manifiesta en la referencia[22], un trabajo importante fue el reali-
zado por Richard Franke, quien comparó todos los métodos de interpolación,
para datos aleatorios en los 80’s, en donde concluye que los métodos Mul-
ticuádrico y Placa Delgada son los mejores métodos disponibles hasta ésa
fecha; y principalmente conjetura que la matriz de interpolación resultante Ψ,
usando Multicuádrica (MQ), es invertible.
Por tanto, para el presente trabajo se utilizará la función Multicuádrica
(MQ); es decir
Φ(r) =√r2 + c2; (4.4)
en donde c es un parámetro de forma que permite variar la pendiente de la
función cerca del punto de colocación[24].
El parámetro de control c debe ser dado por el usuario[22]. Para valores
pequeños de c, la función tomará la forma de un cono, que se irá aplanando
con el incremento de este parámetro[24].
4.2. Desarrollo de una EDP unidimensional
4.2.1. Descripción Matemática del Método Meshless
Para encontrar la solución aproximada U, por el Método de Meshless, de
la ecuación diferencial parabólica
Ut(x, t) = kUxx(x, t), 0 < x < a, 0 < t ≤ b, (4.5)
83
con la condición inicial
U(x, 0) = F (x), 0 < x < a, t = 0, (4.6)
y las condiciones de frontera
U(0, t) = U(a, t) = 0, para 0 < t ≤ b; (4.7)
en donde k es una constante térmica en la Ecuación Diferencial, se debe en
primer lugar:
Discretización de la variable temporal
Para esto, en la ecuación (4.5), para discretizar la variable temporal se
aplica la fórmula en diferencias progresivas para la primera derivada, en con-
junto con el método ponderado θ (θ − weighted[13]), en donde 0 ≤ θ ≤ 1. La
ecuación en mención, se puede escribir
U(x, t+ ∆t)− U(x, t)
∆t
= kθ[Uxx(x, t+ ∆t)] + k(1− θ)[Uxx(x, t)];
es decir,
U(x, t+ ∆t)− U(x, t) = kθ∆tUxx(x, t+ ∆t) + k∆tUxx(x, t)− kθ∆tUxx(x, t).
Agrupando por niveles temporales similares, la expresión anterior se puede
escribir como
U(x, t+∆t)−kθ∆tUxx(x, t+∆t) = U(x, t)+k∆tUxx(x, t)−kθ∆tUxx(x, t). (4.8)
Ahora, cambiando la notación, haciendo Un = U(x, tn), donde tn = tn−1 + ∆t,
entonces tn+1 = tn + ∆t y Un+1 = U(x, tn+1); por tanto Un+1 = U(x, tn + ∆t).
La ecuación (4.8), con este cambio de notación, se puede escribir como
Un+1 − kθ∆tUn+1xx = Un + k∆tU
nxx − kθ∆tU
nxx.
Otra forma de representar la ecuación anterior es
Un+1 − kθ∆t∂2
∂x2Un+1 = Un + k∆t
∂2
∂x2Un − kθ∆t
∂2
∂x2Un.
84
Simplificando esta última expresión
(1− kθ∆t∂2
∂x2)Un+1 = (1 + k(1− θ)∆t
∂2
∂x2)Un. (4.9)
Ahora, si se define como
H+ = (1− kθ∆t∂2
∂x2) (4.10)
y
H− = (1 + k(1− θ)∆t∂2
∂x2), (4.11)
se ve que corresponden a los operadores de la ecuación (4.9); la misma que
se puede escribir en la forma
H+Un+1 = H−U
n. (4.12)
Por tanto, (4.12) es la ecuación de la discretización del tiempo.
Aplicando FBR
En el lado izquierdo de la ecuación (4.12) está la incógnita que correspon-
de a la solución Un+1 en el nuevo nivel de avance temporal (tn+∆t). El término
de la derecha de esta ecuación es proporcional a la solución Un, determinada
en el nivel actual temporal tn.
La aproximación Un(x), usando funciones de base radial, se puede repre-
sentar como
Un(xi) =N∑j=1
λnj Φ(rij), x ∈ [0, a] ⊂ R, (4.13)
usando como FBR el núcleo radial Multicuádrico (MQ)
Φ(rij) =√r2 + c2,
en donde
rij = ||xi − xj||.
De esta forma, la ecuación (4.12), junto con las condiciones de frontera y la
ecuación (4.13), se puede escribir como
H+N∑j=1
λn+1j Φ(rij) = H−
N∑j=1
λnj Φ(rij);
85
y, por tantoN∑j=1
λn+1j H+Φ(rij) =
N∑j=1
λnjH−Φ(rij), (4.14)
por ser H+ y H− operadores lineales.
Resolver la ecuación (4.14), equivale a resolver el sistema algebraico de
ecuaciones para los coeficientes de interpolación λj, en los niveles [∆t, 2∆t, ...].
Ψλ = F ; (4.15)
tal como se indicó en el numeral 4.1.3.
Por otra parte, es importante aclarar que nunca se discretizaron los ope-
radores diferenciales, estos se aplican diréctamente a las funciones de base.
Además, se asumió un total de N puntos a ser colocados (llamados centros).
El vector F , es de dimensión (Nx1), y se origina por el lado derecho de la
ecuación (4.14), al aplicar el operador H− en los puntos interiores y conside-
rando los coeficientes λn previamente calculados en el nivel temporal t.
Por tanto, se puede ahora resolver el sistema (4.15), del cual obtenemos el
valor de las incógnitas λn+1. Este proceso se repite para cada nivel temporal.
Finalmente, la solución numérica U(x, t) se construye usando los coefi-
cientes encontrados, en cada paso de avance temporal, aplicando la ecuación
(4.13).
4.3. Ejercicio de aplicación
4.3.1. Problema tipo. Método de Meshless
Use el método de Mesless para resolver el problema tipo. Compare los
resultados obtenidos de la aproximación con la solución exacta de este pro-
blema en el nivel de tiempo indicado:
a). Para n=19, m=39 y en el nivel de tiempo t = 0,5.
Para este desarrollo se toma como base de partida la ecuación (4.14),
desarrollada en el numeral 4.2.1N∑j=1
λn+1j H+Φ(rij) =
N∑j=1
λnjH−Φ(rij), (4.16)
86
en donde N es el número de puntos a ser colocados. Además, tomando las
ecuaciones (4.10) y (4.11), desarrolladas en el numeral 4.2.2, se definen como
operadores
H+ = (1− kθ∆t∂2
∂x2) (4.17)
y
H− = (1 + k(1− θ)∆t∂2
∂x2). (4.18)
Por otra parte, usando como FBR el núcleo MQ, tal como se estableció en el
numeral 4.2.1, se tiene
Φ(rij) =√r2 + c2, (4.19)
en donde
rij = ||xi − xj||.
Ahora, considerando la ecuación (4.16) y tomando las ecuaciones (4.17) y
(4.18), junto con la ecuación (4.19), se puede escribir
H+Φ(rij) = H+√r2ij + c2
= H+√
(xi − xj)2 + c2
=√
(xi − xj)2 + c2 − kθ∆t∂2
∂x2(√
(xi − xj)2 + c2)
=√
(xi − xj)2 + c2 − kθ∆tc2√
[(xi − xj)2 + c2]3
=[(xi − xj)2 + c2]2 − kθ∆tc
2√[(xi − xj)2 + c2]3
(4.20)
y
H−Φ(rij) = H−√r2ij + c2
= H−√
(xi − xj)2 + c2
=√
(xi − xj)2 + c2 + k(1− θ)∆t∂2
∂x2(√
(xi − xj)2 + c2)
=√
(xi − xj)2 + c2 +k(1− θ)∆tc
2√[(xi − xj)2 + c2]3
=[(xi − xj)2 + c2]2 + k(1− θ)∆tc
2√[(xi − xj)2 + c2]3
. (4.21)
87
Por tanto, al reemplazar las ecuaciones (4.20) y (4.21) en la ecuación (4.16),
se tieneN∑j=1
λn+1j
[(xi − xj)2 + c2]2 − kθ∆tc2√
[(xi − xj)2 + c2]3=
N∑j=1
λnj[(xi − xj)2 + c2]2 + k(1− θ)∆tc
2√[(xi − xj)2 + c2]3
.
(4.22)
Para este ejercicio se va a considerar el valor de N = 19 como número de
puntos a ser colocados en el dominio [0, 1].
Es importante nuevamente aclarar, como se indicó en el numeral 4.2.1,
de este Capítulo, que no se está discretizando la variable espacial. Pero, con
fines didácticos y para poder comparar con la solución exacta y aproximada
de los otros métodos estudiados en este trabajo, se van a colocar los puntos
espaciados a una distancia constante.
Para N = 19 y t = 0,5
Para este caso los puntos a ser colocados son
x = x1 = 0, x2 =1
18, x3 =
2
18, x4 =
3
18, ..., x18 =
17
18, x19 = 1.
La ecuación (4.22) se puede escribir como
19∑j=1
λn+1j
[(xi − xj)2 + c2]2 − kθ∆tc2√
[(xi − xj)2 + c2]3=
19∑j=1
λnj[(xi − xj)2 + c2]2 + k(1− θ)∆tc
2√[(xi − xj)2 + c2]3
.
(4.23)
Además, se deben cumplir las condiciones de frontera, dadas por la ecuación
del problema tipo; es decir
Para x1 = 0
Un(x1) =19∑j=1
λnj
√(x1 − xj)2 + c2 = 0 (4.24)
Para x19 = 1
Un(x19) =19∑j=1
λnj
√(x19 − xj)2 + c2 = 0 (4.25)
Adicionalmente, para la condición inicial del problema tipo, se tiene
Para t = 0
Un(xi) =19∑j=1
λnj
√(xi − xj)2 + c2 = F (xi) = sen(πxi)[1 + 2cos(πxi)],
(4.26)
88
i = 2, 3, ..., 18.
Las ecuaciones (4.23) y (4.26), junto con las ecuaciones (4.24) y (4.25), re-
presentan sistemas lineales de ecuaciones, que pueden ser representados en
forma matricial, para ser programados computacionalmente, bajo las siguien-
tes consideraciones:
Para encontrar el vector de incógnitas λn, en el nivel temporal tn = 0,
se debe resolver el sistema lineal dado por la ecuación (4.26) en con-
junto con las ecuaciones (4.24) y (4.25); el mismo que matricialmente se
puede representar en la forma
Ψ0λn = F,
en donde Ψ0 es la matriz de coeficientes de este sistema, λn el vector
de incógnitas en el nivel tn = 0 y F el vector de términos independientes
dado por la condición inicial (ver problema tipo).
La ecuación (4.23) también corresponde a un sistema lineal de ecuacio-
nes, que representado matricialmente es de la forma
Ψλn+1 = F1.
Resolviendo este sistema matricial encontramos el vector de las incóg-
nitas λn+1, correspondientes al siguiente nivel temporal (tn + ∆t); para
lo cual, al reemplazar en el lado derecho de la ecuación (4.23) los va-
lores de λn encontrados para tn = 0, obtenemos el vector de términos
independientes F1.
Este proceso se repite, en forma análoga al nivel temporal (tn+∆t), para
encontrar el vector de incógnitas λn+1 para el nivel temporal (tn + 2∆t) y
así sucesivamente para los siguientes niveles temporales.
La solución numérica U(x, t) se construye usando los coeficientes en-
contrados λn+1, en cada paso de avance temporal, aplicando la ecuación
(4.13) del numeral 4.2.1, de este Capítulo.
89
Tomando en cuenta lo anteriormente indicado y, ante lo extenso de realizar el
cálculo manualmente, se ha procedido a elaborar un programa en Matlab, el
mismo que se encuentra en la tabla de algoritmos con el nombre Algoritmo 7,
problema tipo, método Meshless.
Manteniendo constante el valor de ponderación θ =0.5, y de acuerdo a
lo anotado en la sección 4.1.3, variando el valor de c a partir de 0.1, la solu-
ción gráfica tiende a irse aplanando con el incremento de este parámetro. Se
consiguió una buena aproximación de la solución con una valor de c = 0,13.
Ejecutando este programa para los datos del problema, considerando co-
mo valor de los parámetros: c = 0,13 y θ =0.5, se tiene la solución U que se
encuentra en la tabla de matrices con el nombre Solución aproximada, proble-
ma tipo, método Meshless.
Figura 4.1: Solución aproximada. Problema tipo, método Meshless.
El tiempo requerido por este programa, para encontrar la solución aproxi-
mada U(x, t), en segundos, es
tiempo =
0.1545
>>
La gráfica correspondiente a la solución aproximada U, para el este problema,
se representa en la Figura 4.1.
La matriz solución exacta Uexat y su gráfica correspondiente, se calcula-
ron en el capítulo II, numeral 2.4.1, Problema tipo.
90
Por simple inspección, comparando los valores de las soluciones exacta
y aproximada, podemos afirmar que U es una buena aproximación de Uexat.
En el Capítulo 5, se realizará el cálculo y análisis del error cometido en la
aproximación.
Conclusiones de fin de capítulo
En la metodología de interpolación, mediante funciones de base radial
con placa multicuádrica, el parámetro c, manteniendo constante el pará-
metro θ juega un papel importante al hacer que la función, con el incre-
mento de este parámetro , tome la forma de un cono que se irá aplanan-
do hasta conseguir el mejor ajuste de la aproximación.
Los parámetros c =0.13 y θ =0.5, son los que más ajustaron la aproxi-
mación a la solución exacta.
Capítulo 5
Error de la aproximación numérica
y tiempos de cómputo
5.1. Cálculo del error
Se pretende en este capítulo comparar las matrices calculadas numérica-
mente, en los tres métodos estudiados (MDF, MEF y MM), con la matriz co-
rrespondiente a la solución analítica (exacta). De esta comparación se puede
determinar el error cometido en la aproximación.
Para el presente trabajo se van a considerar los siguientes tipos de errores:
5.1.1. Error absoluto (Err)
Cuando se conoce la solución analítica de un IPVF, se puede medir el error
cometido, calculando el Error Absoluto, mediante la fórmula
Err = ||Uexat − U ||, (5.1)
en donde Uexat es la solución determinada analíticamente y U es la solución
determinada numéricamente.
Para determinar del Error Absoluto (Err), con la ayuda del Matlab, se cons-
truyó un programa que, a más de calcular el valor numérico del error cometido,
permite visualizarlo de diferentes maneras. Esto se explicará cuando se reali-
ce el cálculo correspondiente.
91
92
El programa que se construyó se encuentra en la tabla de algoritmos con
el nombre Algoritmo 8, error absoluto.
El programa, una vez ejecutado, tomando como insumos de entrada a
las soluciones aproximada y exacta, presenta como salidas: la matriz Err del
error absoluto, el máximo error (Max_Err) en el nivel temporal (niv_tem) co-
rrespondiente, y el promedio de los errores máximos (Err_prom) encontrados.
Adicionalmente presenta algunos gráficos que permiten visualizar y entender
de mejor forma el comportamiento del error de la aproximación.
5.1.2. Error cuadrático medio (Ecm)
Se puede medir el error cometido, calculando el Error Cuadrático Medio[22],
mediante la fórmula
Ecm =
√√√√ 1
N
N∑i=1
(Uexat − U)2, (5.2)
en donde Uexat es la solución determinada analíticamente, U es la solución
determinada numéricamente y N es el número de nodos.
Para el cálculo del error cometido se construyó en un programa, en Matlab,
que se encuentra en la tabla de algoritmos con el nombre Algoritmo 9, error
cuadrático medio.
La entrada de datos y salidas del programa son similares a las del progra-
ma realizado para el cálculo del error absoluto.
5.1.3. Error medio cuadrático relativo (Emcr)
Es un error medido con respecto a la unidad, el mismo que se puede
calcular mediante la fórmula
Emcr =
√√√√ 1
N
N∑i=1
(Uexat − UUexat
)2
; (5.3)
siendo Uexat la solución determinada analíticamente, U la solución determina-
da numéricamente y N el número de nodos.
93
Para el cálculo de este error se construyó un programa, en Matlab, que se
encuentra en la tabla de algoritmos con el nombre Algoritmo 10, error medio
cuadrático relativo.
Se procedió en forma análoga, a los programas del cálculo del error ante-
riores, para las entradas y salidas de datos.
5.2. Cálculo del error cometido
Se va a determinar el error cometido comparando la matriz solución apro-
ximada (U), calculada numéricamente en cada uno de los métodos estudiados
(MDF, MEF y MM), con la matriz solución exacta (Uexat).
Para cada uno de estos métodos aproximados se calcularán tres tipos de
errores, los mismos que se presentaron en el numerál 5.1, de este trabajo.
5.2.1. Método de las diferencias finitas
Error Absoluto
De la ejecución del programa presentado en el numeral 5.1.1 se obtienen
los siguientes resultados:
>>
Max_Err =
0.0047
niv_tem =
3
Err_prom =
7.7781e-004
>>
La matriz Err obtenida corresponde a la matriz del error absoluto, para cada ni-
vel espacial (filas), en los diferentes niveles de la variable temporal (columnas).
Adicionalmente se tiene que el máximo error absoluto (Max_Err) es 0.0047, lo-
94
calizado en el nivel temporal 3 (corresponde a 2∆t=0.026316); como se puede
ver en la Figura 5.1
Figura 5.1: El Err máximo en el MDF
El Err máximo se presenta en el nivel temporal 3. La gráfica comparativa
de las soluciones aproximada y exacta, en este nivel temporal, corresponde a
la Figura 5.2, en el que se puede observar que el comportamiento de las dos
soluciones es muy semejante; y por tanto el error es mínimo.
Figura 5.2: Comparación entre U y Uexat en el MDF
El comportamiento del error Err, en t = 0,026316, está representado en la
Figura 5.3.
Figura 5.3: Comportamiento del error, nivel t = 0,0263, en el MDF
95
El error promedio (Err_prom) es de 0.00077781, resultado de promediar
entre los máximos errores obtenidos, en cada nivel, de la variable temporal.
Error medio cuadrático
Procediendo en forma análoga para el Ecm y aplicando el programa pre-
sentado en el numeral 5.1.2, se tienen los resultados:
>> [Max_Ecm niv_tem Ecm_prom]
=Error_medio_cuadratico(Uexat,U)
Max_Ecm =
0.0032
niv_tem =
3
Ecm_prom =
5.0235e-004
>>
La Figura 5.4 representa los máximos Ecm en cada nivel temporal.
Figura 5.4: El Ecm máximo en el MDF
Error medio cuadrático relativo
Para el Emcr, se tienen los siguientes resultados:
>> [Max_EmcR niv_tem EmcR_prom]
=Error_medio_cuadratico_Relativo(Uexat,U)
Max_EmcR =
96
0.0457
niv_tem =
2
EmcR_prom =
0.0058
>>
En la Figura 5.5 se representan los máximos Emcr, en cada nivel temporal.
Figura 5.5: El Emcr máximo en el MDF
5.2.2. Método de los elementos finitos
Se procedió en forma análoga al cálculo del error absoluto en el MDF, para
este error, ejecutando los programas correspondientes.
Error absoluto
[Err Max_Err niv_tem Err_prom]=Error_Analisis(Uexat,U)
Max_Err =
0.0840
niv_tem =
3
Err_prom =
0.0212
>>
97
Se tiene que el máximo error absoluto (Max_Err) es 0.0840, localizado en
el nivel temporal 3 (corresponde a 2∆t=0.026316), como se puede ver en la
Figura 5.6
Figura 5.6: El Err máximo en el MEF
La gráfica que compara las soluciones aproximada y exacta, en el nivel
temporal 3, corresponde a la Figura 5.7
Figura 5.7: Comparación entre U y Uexat en el MEF
El comportamiento del error Err, en t = 0,026316, está representado en la
Figura 5.8.
Figura 5.8: Comportamiento del error, nivel t = 0,0263, en el MEF
98
El error promedio (Err_prom) es de 0.0212, resultado de promediar los
máximos errores en cada nivel de la variable temporal.
Error medio cuadrático
Aplicando el programa presentado en el numeral 5.1.2, se tienen los resul-
tados:
>> [Max_Ecm niv_tem Ecm_prom]
=Error_medio_cuadratico(Uexat,U)
Max_Ecm =
0.0531
niv_tem =
3
Ecm_prom =
0.0132
>>
La Figura 5.9 representa los máximos Ecm en la variable temporal.
Figura 5.9: El Ecm máximo en el MEF
Error medio cuadrático relativo
Para el Emcr, se tienen los siguientes resultados:
>> [Max_EmcR niv_tem EmcR_prom]
=Error_medio_cuadratico_Relativo(Uexat,U)
Max_EmcR =
99
0.6534
niv_tem =
2
EmcR_prom =
0.1927
>>
La Figura 5.10 representa los máximos Emcr en la variable temporal.
Figura 5.10: El Emcr máximo en el MEF
5.2.3. Método de Meshless
Error absoluto
Se tienen los siguientes resultados
>> [Err Max_Err niv_tem Err_prom]=Error_Analisis(Uexat,U)
Max_Err =
0.0962
niv_tem =
3
Err_prom =
0.0234
>>
El máximo error absoluto (Max_Err) es 0.0962, localizado en el nivel temporal
3 (corresponde a 2∆t=0.026316); como se puede ver en la figura 5.11
100
Figura 5.11: El Err máximo en el MM
La gráfica comparativa de las soluciones aproximada y exacta, en el nivel
temporal 3, corresponde a la Figura 5.12.
Figura 5.12: Comparación entre U y Uexat en el MM
El comportamiento del error Err, en t = 0,026316, está representado en la
Figura 5.13.
Figura 5.13: Comportamiento del error, nivel t = 0,026316, en el MM
El error promedio (Err_prom) es de 0.0234, resultado de promediar los
máximos errores, en cada nivel de la variable temporal.
101
Error medio cuadrático
Aplicando el programa presentado en el numeral 5.1.2, se tienen los resul-
tados:
>> [Max_Ecm niv_tem Ecm_prom]
=Error_medio_cuadratico(Uexat,U)
Max_Ecm =
0.0309
niv_tem =
3
Ecm_prom =
0.0145
>>
La figura 5.14 representa los máximos Ecm, en la variable temporal.
Figura 5.14: El Ecm máximo en el MM
Error medio cuadrático relativo
Para el Emcr, se tienen los siguientes resultados:
>> [Max_EmcR niv_tem EmcR_prom]=Error_medio_cuadratico_Relativo(Uexat,U)
Max_EmcR =
0.3684
niv_tem =
38
EmcR_prom =
102
0.2255
>>
La Figura 5.15 representa los máximos Emcr en la variable temporal.
Figura 5.15: El Emcr máximo en el MM
Ahora, es importante revisar el comportamiento de las soluciones aproxi-
mada U y exacta Uexat, en los niveles temporales 2 para el MDF y MEF, y
nivel temporal 38 para el MM; niveles en los que se presentan los máximos
Emcr. Esto se puede ver claramente en las Figuras 5.16, 5.17 y 5.18.
Figura 5.16: El Emcr máximo, nivel t = 0,013158, en el MDF
Figura 5.17: El Emcr máximo, nivel t = 0,013158, en el MEF
103
Figura 5.18: El Emcr máximo, nivel t = 0,48684, en el MM
5.3. Análisis del error
5.3.1. Error absoluto
Para los tres métodos (MDF, MEF y MM) el Cuadro 5.1 resume los valo-
res obtenidos para este error al encontrar la solución aproximada U del PVF
en estudio. Se trata de un mismo problema resuelto por estos métodos de
aproximación diferentes. De este cuadro se puede precisar:
El error absoluto (Err), para los tres métodos, es aceptable. El máximo
error absoluto se presenta en el nivel temporal 3, en donde t = 0,026316,
para los tres métodos.
Analizando el comportamiento de las soluciones aproximada y exacta,
en el nivel temporal 3 (t =0.02636), Figuras 5.2 y 5.12, se puede ob-
servar que estas son muy coincidentes en sus puntos; lo que permite
reafirmar que el error absoluto es aceptable.
Ahora, analizando el comportamiento del error en el nivel temporal 3,
con respecto a la variable espacial, este es muy similar. Esto se puede
evidenciar de las Figuras 5.3, 5.8 y 5.13; en donde, por la escala repre-
sentada, se concluye que el error es aceptable.
En los tres métodos, el comportamiento del error máximo, con respecto
a la variable temporal, es similar; como se puede observar en las Figuras
5.1, 5.6 y 5.11.
104
El error promedio, que corresponde al promedio de los errores máximos
a lo largo de la variable temporal, también es bastante aceptable.
El método de las diferencias finitas es el de menor error absoluto compa-
rando las matrices solución aproximada y exacta; seguida por el método
de los elementos finitos y Meshless.
Los valores de las soluciones aproximada y exacta no se pueden definir co-
mo muy grandes o muy pequeñas; por lo que para estas magnitudes el error
absoluto (Err) resulta muy significativo y adecuado para este caso.
Cuadro 5.1: Error absoluto en tres métodos de aproximación
Diferencias Finitas Elementos Finitos Meshless
Error máximo 0.0047 0.0840 0.0962
Nivel temporal 3 3 3
Error promedio 0.00077781 0.0212 0.0234
5.3.2. Error cuadrático medio
Este error, por su fórmula de cálculo dada por la ecuación (5.2), tiene un
comportamiento similar con respecto al error absoluto; ya que son del mismo
orden. Los cálculos realizados para este error, en los tres métodos aproxima-
dos, se presentan en el Cuadro 5.2; del que se desprende:
Lo manifestado para el error absoluto, para los tres métodos, se cumple
en forma similar para el error medio cuadrático; con la salvedad de que
este último es en magnitud menor al error absoluto. Esto garantiza aún
más y confirma que la solución aproximada (U) es una buena aproxima-
ción de la solución exacta (Uexat).
Se presenta un comportamiento similar del Ecm máximo, en los tre mé-
todos; lo que se puede observar en las Figuras 5.4, 5.9 y 5.14.
El método de las diferencias finitas es el de menor error medio cuadráti-
co, seguido por el método de los elementos finitos y Meshless.
105
El error medio cuadrático Ecm también resulta muy significativo y adecuado
para este caso.
Cuadro 5.2: Error cuadrático medio en tres métodos de aproximación
Diferencias Finitas Elementos Finitos Meshless
Error máximo 0.0032 0.0531 0.0309
Nivel temporal 3 3 3
Error promedio 0.00050235 0.0132 0.0145
5.3.3. Error medio cuadrático relativo
Por su naturaleza, este error es muy significativo cuando las magnitudes
comparadas son muy pequeñas o muy grandes; pero este no es caso en el
presente trabajo. El Emcr se caracteriza por ser adimensional, siempre compa-
rado con la unidad que corresponde al máximo error posible (100 % de error).
El Cuadro 5.3 presenta al error cuadrático medio relativo, medido en los
tres métodos aproximados, del que se puede precisar:
Se presenta un comportamiento poco similar del Emcr máximo en los
tres métodos, con respecto a la variable temporal; lo que se puede vi-
sualizar en las Figuras 5.5, 5.10 y 5.15.
De esta tabla, los errores más representativos están en el nivel temporal
2 para los métodos MDF y MEF; y 38 para el método MM, que corres-
ponden a los tiempos t = 0,013158 y t = 0,48684, respectivamente.
Las Figuras 5.16 y 5.17 permiten visualizar el comportamiento de las
soluciones exacta y numérica en el nivel temporal 2, para el MDF y MEF,
respectivamente. De esta comparación, se puede concluir que el Emcr,
para este caso, no es significativo.
La Figura 5.18 permite visualizar el comportamiento de las soluciones
exacta y numérica en el nivel temporal 38, para el MM, obteniendo un
106
error aproximadamente del 37 % (Emcr=0.3684). Este error puede con-
siderarse alto, pero es el resultado de comparar dos cantidades muy
pequeñas.
Los valores de las soluciones exacta y aproximada, en el nivel temporal
38, son muy pequeñas (escala 10−3); por lo que para los fines de este
trabajo, este error resulta insignificante.
Por lo anteriormente indicado, el error Emcr resulta ser no significativo para
este trabajo.
Cuadro 5.3: Error cuadrático relativo en tres métodos de aproximación
Diferencias Finitas Elementos Finitos Meshless
Error máximo 0.0457 0.6534 0.3684
Nivel temporal 2 2 38
Error promedio 0.0058 0.1927 0.2255
5.4. Tiempos de cómputo
El cuadro 5.4 presenta el tiempo de cómputo requerido por los métodos
explícito y Crank - Nicolson, calculados en la ejecución de los programas co-
rrespondientes, para encontrar la solución aproximada del problema 1; en don-
de n y m son el número de puntos de las variables espacial y temporal, res-
pectivamente. Además, h es el espaciamiento de la variable espacial y k el
espaciamiento de la variable temporal.
Cuadro 5.4: Tiempos de cómputo, problema tipo, diferencias finitas.
Método Problema n m h k tiempo (segundos)
Explícito tipo 19 339 1/18 1/338 0.3552
Crank - Nicolson tipo 19 39 1/18 1/38 0.3045
Se observa, en el cuadro 5.4, que el método de Crank - Nicolson requiere
107
de un espaciamiento no tan pequeño y de menor tiempo computacional para
encontrar la solución aproximada U .
Por otra parte, El cuadro 5.5 presenta el tiempo de cómputo requerido por
cada método de aproximación, para encontrar la solución aproximada U del
PVF en estudio. Se trata de un mismo problema resuelto por tres métodos
diferentes de aproximación en donde n es el número de puntos de la varia-
ble espacial y m el número de puntos de la variable temporal, generando un
mallado de nxm puntos en el dominio.
Cuadro 5.5: Tiempos de cómputo en los tres métodos aproximados
Método Problema n m h k tiempo (segundos)
Diferencias finitas tipo 19 39 1/18 1/38 0.3045
Elementos finitos tipo 19 39 1/18 1/38 0.1472
Meshless tipo 19 39 0.1545
Del cuadro 5.5 se puede concluir que los métodos elementos finitos y
Meshless requieren de un costo computacional menor, 50 % aproximadamen-
te, con respecto al método de diferencias finitas.
Capítulo 6
Conclusiones y Recomendaciones
6.1. Respuesta a las Interrogantes Planteadas pa-
ra este trabajo
Como se planteó en el numeral 1.4.4, del Capítulo 1, del presente trabajo,
se procede a responder las interrogantes planteadas:
¿Cómo resolver una EDP que no tiene solución analítica?
Se han presentado en este trabajo tres métodos aproximados de solu-
ción, para las EDP’s del tipo parabólico, con condiciones de frontera e
inicial que son: diferencias finitas, elementos finitos y Meshless.
¿Los métodos aproximados son una alternativa de solución para las
EDP’s que no tienen solución analítica?
La mayoría de las EDP’s presentan dificultad para encontrar su solución
analítica o en otros casos no es posible encontrar esta solución analítica,
aplicando métodos analíticos. Estos métodos, normalmente presentan
soluciones que tienen expresiones matemáticas bastante complicadas,
que involucran series o alguna representación integral [4]. En muchos
casos, se requieren cálculos numéricos de estas soluciones, como por
ejemplo calcular los 150 primeros términos de la solución presentada
como una Serie de Fourier; que involucra la necesidad de utilizar un
computador. Ahora, si se va a requerir de un computador para resolver
108
109
un problema, es mejor utilizar métodos numéricos, más eficientes, para
obtener soluciones aproximadas. Además, no es necesario haber segui-
do un curso especializado de EDP’s para entender los principios que
rigen en la obtención de soluciones numéricas[cite Matheus]. Por lo an-
terior anotado y respondiendo a la pregunta, definitivamente sí. En este
trabajo se han expuesto los métodos aproximados MDF, MEF y Mesh-
less, como otras alternativas, con las que se han encontrado soluciones
aproximadas de una EDP.
¿Los métodos aproximados son realmente confiables?
Un método aproximado es confiable luego de haber sido probado, com-
parando la solución obtenida con la solución analítica conocida de una
EDP, con condiciones de frontera e inicial. Esto se pretendió con este tra-
bajo; es decir, a más de presentar una metodología de solución, didácti-
camente desarrollada, para resolver una EDP, considerando los criterios
de estabilidad del método, medir el error cometido al compararle con la
solución analítica conocida; y por tanto mantener la confiabilidad en este
método.
¿Qué método aproximado es el más recomendable para resolver EDP’s
del tipo parabólico?
Se ha presentado en los Capítulos 2, 3 y 4, de este trabajo, las carac-
terísticas que sobresalen en cada uno de estos métodos aproximados.
De la comparación realizada, al medir el error cometido en la aproxima-
ción, realizado en el Capítulo 5, se concluye que los tres métodos son
confiables, para el modelo de EDP utilizado. Se deja abierta la investiga-
ción para responder de mejor manera esta pregunta, al trabajar con otros
modelos de EDP’s; por ejemplo, no homogéneos o problemas bidimen-
sionales. Si se quiere responder aún mejor, se debe enfrentar problemas
que involucren EDP’s con dominios irregulares; ya que el campo de in-
vestigación de estos métodos es muy amplio.
110
Con estas interrogantes, contestadas, el problema específico, objeto de
este trabajo, que se Formuló “¿Cómo desarrollar las Ecuaciones Diferenciales
Parciales Parabólicas mediante Diferencias Finitas, Elementos Finitos y Mesh-
less?”, queda con respuesta.
Además, el Objetivo General de este trabajo “Resolver las ecuaciones di-
ferenciales parciales parabólicas aplicando los métodos: Diferencias Finitas,
Elementos Finitos y Meshless, determinando su grado de confiabilidad y, pre-
sentados en forma didáctica como un material científico, útil para el aprendiza-
je de este tipo de ecuaciones”, se cumplió en su totalidad y está representado
en este trabajo.
6.2. Conclusiones
Una ecuación diferencial parcial que no tiene solución analítica se puede
resolver por los métodos aproximados: diferencias finitas, elementos finitos y
Meshless.
El presente trabajo pretende ser considerado como un material didáctico
en donde se describe, paso a paso, una metodología de solución para las
ecuaciones diferenciales parciales, con condiciones de frontera e inicial, apli-
cando métodos aproximados de solución.
En el método de diferencias finitas, el método explícito se ha comprobado
ser inestable al resolver problemas de frontera unidimensionales y bidimensio-
nales. La estabilidad de este método se consiguió, a un costo computacional
alto, calculando el número de puntosm necesario de discretización de la varia-
ble temporal. El método de Crank – Nicolson, a diferencia del método explícito,
es completamente estable y no depende de los valores m y n de discretización
de las variables espacial y temporal, respectivamente; además tiene menor
costo computacional.
Luego, se ha presentado una metodología para los elementos finitos a par-
tir de una reformulación variacional combinada con el método de Galerkin, el
mismo que permitió cambiar el espacio de funciones inicial de dimensión infi-
nita a uno de dimensión finita permitiendo encontrar la solución del problema
111
en estudio.
Para el método Meshless se ha desarrollado una metodología de interpo-
lación mediante funciones de base radial con placa multicuádrica de soporte
global; en esta, los parámetros c=0.13 y θ=0.5 son los que más ajustaron la
aproximación a la solución exacta.
En la medición del error de la aproximación, para los tres métodos, el error
absoluto es el más significativo. Por tanto, los errores cometidos en la apro-
ximación se concluyeron como aceptables. El error medio cuadrático, por ser
del mismo orden del error absoluto, también se considera como significativo.
Los resultados obtenidos en las aproximaciones numéricas, muestran la
calidad de los métodos propuestos y su confiabilidad en los mismos.
El método de diferencias finitas, para este trabajo, resultó ser el de me-
jor aproximación a la solución exacta, seguido por el de elementos finitos y
Meshless. Con respecto al costo computacional, el método de elementos fini-
tos requiere de menor costo, seguido muy de cerca por el método Meshless.
6.3. Recomendaciones
Algunos temas quedan abiertos y se podrán proponer, a partir de la cul-
minación de este trabajo, como posibles temas de continuación del mismo; y
son:
extender a el análisis bidimensional en los métodos elementos finitos y
Meshless.
Analizar el comportamiento del error y estimar la confianza en estos mé-
todos en problemas con dominios irregulares; es decir, trabajando con
problemas reales.
En el método de Meshless, c es un parámetro de forma, que es dado
por el usuario del programa; por tanto, no se tiene un criterio claro para
seleccionar este valor. Se propone investigar o estimar el mejor valor de
c para un problema específico.
112
Tabla de Algoritmos
Algoritmo1, problema tipo, solución exacta
% SOLUCIÓN EXACTA U DEL PROBLEMA TIPO
% a es la magnitud espacial y b es la magnitud temporal
% n y m son el número de puntos en que a y b se dividen
% respectivamente.
function U=Sol_exacta_P1(a,b,n,m)
h=a/(n-1);
k=b/(m-1);
x=0:h:a;
t=0:k:b;
fxt=@(x,t) (sin(pi*x)*exp(-pi^2*t)+sin(2*pi*x)*exp(-4*pi^2*t));
for j=1:m
for i=1:n
U(i,j)=fxt(x(i),t(j));
end
end
surf(U)
xlabel(’magnitud t’);
ylabel(’magnitud x’);
zlabel(’valores de U’);
end
Algoritmo 2, problema tipo, esquema explícito
% Problema_1_Explicito
% Resolución de la ecuación deL calor por el método de las
% diferencias finitas.
% Construcción de la solución numérica de Ut(x,t)=c^2Uxx(x,t)
% en R=(x,t):0<=x<=a, 0<=t<=b con
% U(0,t)=g1(t), U(a,t)=g2(t) para 0<=t<=b
113
% U(x,0)=f(x) para 0<=x<=a
% c es la constante de la ecuación del calor
% n , m son los números de nodos de [0, a] y [0, b]
% respectivamente, (n-1)por(m-1)es el número de rectángulos
% en que se subdivide la región R
function [r U]=Problema_1_Explicito(f,g1,g2,a,b,c,n,m)
fx=inline(f);
g1t=inline(g1);
g2t=inline(g2);
% U es la matriz en la que se almacena la solución numérica.
h=a/(n-1); % longitud del intervalo espacial
k=b/(m-1); % longitud del intervalo temporal
x=0:h:a;
t=0:k:b;
% Calculemos los coeficientes de las fórmulas (7)
r=c^2*k/h^2;
r1=1-2*r;
%Inicializamos la matriz U
U=zeros(n,m);
% Calculemos la primera columna para U
for i=2:n-1
U(i,1)=fx(x(i));
end
% Aplicando las condiciones de contorno:
for j=1:m
U(1,j)=g1t(t(j));
U(n,j)=g2t(t(j));
end
% Cálculo de las demás columnas
for j=2:m
for i=2:(n-1)
U(i,j)=r*U(i-1,j-1)+r1*U(i,j-1)+r*U(i+1,j-1);
114
end
end
surf(U)
xlabel(’Tiempo’);
ylabel(’Espacio’);
zlabel(’Valores de la Solución U’);
end
Algoritmo 3, problema tipo, esquema de Crank-Nicolson
% Problema 2 homogéneo.
% Resolución de la ecuación parcial por el método de Crac-Nicholson
% Construcción solución numérica de Ut(x,t)=c*Uxx(x,t)
% en R=(x,t):0<=x<=a, 0<=t<=b con
% U(0,t)=g1(t)=c1, U(a,t)=g2(t)=c2
% para 0<=t<=b (Condiciones de frontera)
% U(x,0)=f(x) para 0<=x<=a (Condición inicial)
% CONSIDERACIONES PARTICULARES:
% Se particulariza como EJERCICIO 1, para c1=0 y c2=0 y c=1
% Corresponde a la ecuación del calor
% Consideramos a=1, b=muy grande y f(x,t)=sen(pi*x)*(1+2cos(p1*x))
function [r U Uexat]=Cracnich_P1(f,g1,g2,a,b,c,n,m)
fx=inline(f);
g1t=inline(g1);
g2t=inline(g2);
% n , m son los números de nodos de [0, a] y [0, b]
% respectivamente
% U es la matriz en la que se almacena la solución numérica.
h=a/(n-1); % longitud del intervalo espacial
k=b/(m-1); % longitud del intervalo temporal
x=0:h:a;
t=0:k:b;
115
% Calculemos los coeficientes de las fórmulas (7)
r=k/h^2;
S1=(2+2*r)/r;
S2=(2-2*r)/r;
%Inicializamos la matriz U
U=zeros(n,m);
% Para la primera y última fila de U, aplicando condiciones
% de contorno.
for j=1:m
U(1,j)=g1t(t(j));
U(n,j)=g2t(t(j));
end
% Generamos la primera columna de U con la Condición inicial dada
for i=2:n-1
U(i,1)=fx(x(i));
end
% Calculo de la segunda columna en adelante (hasta la m) de U;
% para lo cual debemos resolver el sistema de ecuaciones AU=B
% Se trata de un sistema tridiagonal.
%Construcción de las diagonales principal y secundaria.
Vd(1,1:n)=S1*ones(1,n); % Diagonal principal
Vd(1)=1; % ya que U(1,1)=g1(t(1))
Vd(n)=1; % ya que U(n,n)=g2(t(1))
Va=-ones(1,n-1); % Diagonal secundaria (-1)
Va(1)=0;
Va(n-1)=0;
Vc=-ones(1,n-1); % Diagonal Diagonal secundaria (+1)
Vc(n-1)=0;
Vc(1)=0;
% Términos independientes, cálculos.
Vb(1)=g1t(t(1));
Vb(n)=g2t(t(m));
116
for j=2:m % Columnas de la 2 a la m (temporales de U)
for i=2:n-1 % Columnas espaciales de U de 2 a n-1
Vb(i)=U(i-1,j-1)+S2*U(i,j-1)+U(i+1,j-1); % Ya que
% se conoce la columna 1 de inicio y todos los i=1:n
end
% Se tiene por tanto todos los elementos del vector
% Vd de términos independientes para j=2
% en primer lugar y j+1 en adelante
% Resolvemos el sistema de ecuaciones
X=sistem_Tridiagonal(Va,Vd,Vc,Vb,n);
% Las incógnitas encontradas guardamos en la columna j
U(1:n,j)=X’;
% Continuamos en forma análoga para la siguiente columna
end
% Cálculo de la solución exacta
Uexat=Sol_exacta_P1(a,b,n,m);
% Representación gráfica de las soluciones U y Uexat
for i=1:m
P=interpolLagrange(x,U(:,i)’); % P=Polinomio interpolador
P1=interpolLagrange(x,Uexat(:,i)’);
q=0:0.01:1; % nuevo vector abscisa para graficar la solución
y=polyval(P,q);
y1=polyval(P1,q);
figure(i+1)
plot(q,y1,’r’)
hold on
plot(q,y,’b’)
xlabel(’Espacio’);
ylabel(’Valores de la Solución U’);
hold off
end
117
figure(m+2)
surf(U)
xlabel(’Tiempo’);
ylabel(’Espacio’);
zlabel(’Valores de la Solución U’);
end
Algoritmo 4, problema 2 no homogeneo, Crank-Nicolson
% Problema 3 no homogéneo
% Resolución de la ecuación parcial por el método de
% Crac-Nicholson
% Construcción solución numérica de Ut(x,t)=c^2*Uxx(x,t)+q(x,t)
% en R=(x,t):0<=x<=a, 0<=t<=b con
% U(x,0)=f(x) para 0<=x<=a y t=0 (Condición inicial)
% Y con las condiciones de contorno:
% A1.U(0,t)+B1.Ut(0,t)=g1(t)
% A2.U(a,t)+B2.Ut(a,t)=g2(t)
function [r U]=Cracnich_P_general(f,g1,g2,Q,a,b,c,A1,A2,B1,B2,n,m)
fx=inline(f,’x’);
g1t=inline(g1,’t’);
g2t=inline(g2,’t’);
Qxt=inline(Q,’x’,’y’);
% n , m son los números de nodos de [0, a] y [0, b]
% respectivamente
% U es la matriz en la que se almacena la solución numérica.
h=a/(n-1); % longitud del intervalo espacial
k=b/(m-1); % longitud del intervalo temporal
%k=h^2/c^2;
%m=b/k+1;
% x, t son los vectores de la discretización.
x=0:h:a;
118
t=0:k:b;
% Calculemos los coeficientes de las fórmulas (7)
r=c^2*k/h^2;
S1=2/r+2;
S2=2/r-2;
S3=k/r;
S4=1-(k*A1-B1)/B1;
S5=1+B2/(k*A2+B2);
S6=k/(k*A2+B2);
%Inicializamos la matriz U
U=zeros(n,m);
% Generamos la primera columna de U con la Condición inicial dada
for i=1:n
U(i,1)=fx(x(i));
end
% Calculo de la segunda columna en adelante (hasta la m) de U;
% para lo cual debemos resolver el sistema de ecuaciones AU=B
% Se trata de un sistema tridiagonal.
%Construcción de las diagonales principal y secundaria.
Vd(1,1:n)=S1*ones(1,n); % Diagonal principal
Vd(1)=1; % Coeficiente de la incógnita U(1,j+1)
Vd(n)=1; % Coeficiente de la incógnita U(n,j+1)
Va=-ones(1,n-1); % Diagonal secundaria (-1)
Va(1)=0;
Va(n-1)=0;
Vc=-ones(1,n-1); % Diagonal Diagonal secundaria (+1)
Vc(n-1)=0;
Vc(1)=0;
% Términos independientes, cálculos.
for j=2:m % Columnas de la 2 a la m (temporales de U)
Vb(1)=-(k*A1-B1)/B1*U(1,j-1)+k/B1*g1t(t(j-1));
for i=2:n-1 % Columnas espaciales de U de 2 a n-1
119
Vb(i)=U(i-1,j-1)+S2*U(i,j-1)+U(i+1,j-1)
+S3*(Qxt(x(i),t(j-1))+Qxt(x(i),t(j)));
% Ya que se conoce la columna 1 de inicio y todos los i=1:n
end
Vb(n)=B2/(k*A2+B2)*U(n,j-1)+k/(k*A2+B2)*g2t(t(j));
Vb(2)=Vb(2)+(S4-1)*U(1,j-1)+k/B1*g1t(t(j-1));
Vb(n-1)=Vb(n-1)+(S5-1)*U(n,j-1)+S6*g2t(t(j));
% Se tiene por tanto todos los elementos del vector
% Vd de términos
% independientes para j=2 en primer lugar y j+1 en adelante
% Resolvemos el sistema de ecuaciones
X=sistem_Tridiagonal(Va,Vd,Vc,Vb,n);
% Las incógnitas encontradas guardamos en la columna j
U(1:n,j)=X’;
% Continuamos en forma análoga para la siguiente columna
end
% Construyamos los mallados
surf(U)
xlabel(’Tiempo’);
ylabel(’Espacio’);
zlabel(’Valores de la Solución U’);
end
Algoritmo 5, problema tipo, elementos finitos, n = 6
% Programa que resuelve el PVF Ut=Uxx, con n=6
% para la discretización espacial.
% U(x,0)=sin(pi*x)*(1+2*cos(pi*x)) como condición inicial.
% U(0,t)=U(1,t)=0 como condiciones de frontera
% a=longitud espacial, b=longitud temporal,
% m=número de puntos del tiempo
120
function [Usol] = MEF_calor_1D(a,b,m)
% matriz global A
A=[1 -1 0 0 0 0;-1 2 -1 0 0 0;0 -1 2 -1 0 0;0 0 -1 2 -1 0;
0 0 0 -1 2 -1;0 0 0 0 -1 1];
A=5*A;
% matriz global M
M=[1/3 1/6 0 0 0 0;1/6 2/3 1/6 0 0 0;0 1/6 2/3 1/6 0 0;
0 0 1/6 2/3 1/6 0;0 0 0 1/6 2/3 1/6;0 0 0 0 1/6 1/3];
M=1/5*M;
% Incremento temporal
Dt=b/(m-1);
% Matrix de coeficientes del sistema
AA=M+Dt*A;
% Matriz solución encerada para cálculos
Usol=zeros(6,6);
% Condición inicial en matriz solución
x=linspace(0,a,6);
G=@(x) (sin(pi*x)*(1+2*cos(pi*x)));
for i=1:6
Usol(i,1)=G(x(i));
U0(i)=G(x(i));
end
% Cálculo del término independiente
M1=M;
% tomamos la matriz de Dirichlet, filas 2:5, columnas 2:5.
PAA=AA(2:5,2:5);
PM1=M1(2:5,2:5);
PU0=U0(2:5);
% Resolvemos el sistema
for j=2:m
U=PAA\(PM1*PU0’);
P=interpolLagrange(x,[0;U;0]’); % P=Polinomio interpolador
121
q=0:0.01:1; % nuevo vector abscisa para graficar la solución
y=polyval(P,q);
figure(j)
plot(q,y)
% nuevo vector para resolver el sistema
PU0=U’;
Usol(2:5,j)=U; % Asignamos las soluciones obtenidas
% a la matriz Usol
end
figure(m+1)
surf(Usol)
end
Algoritmo 6, problema tipo, elementos finitos, todo n
% Problema 5, elementos finitos para todo n.
% Programa que resuelve el PVF Ut=c.Uxx,
% U(x,0)=sin(pi*x)*(1+2*cos(pi*x)) como condición inicial.
% U(0,t)=U(1,t)=0 como condiciones de frontera
% a=longitud espacial, b=longitud temporal,
% c=constante de la ecuación del calor,
% n=número de puntos de la variable espacial
% m=número de puntos de la variable temporal
function [Usol Uexat] = MEF_calor_GALERKIN_1D(a,b,c,n,m)
% Discretizando la variable temporal
Dx=a/(n-1);
% Cálculo de la matriz A de la función bilineal.
A=zeros(n,n);
a1=[2];
for i=1:n-1
a1=[a1 2];
end
122
a2=[-1];
for i=1:n-2
a2=[a2 -1];
end
A=A+diag(a1)+diag(a2,1)+diag(a2,-1);
A(1,1)=1;
A(n,n)=1;
A=c/Dx*A;
% Cálculo de la matriz M de la función bilineal
M=zeros(n,n);
a3=[2/3];
for i=1:n-1
a3=[a3 2/3];
end
a4=[1/6];
for i=1:n-2
a4=[a4 1/6];
end
M=M+diag(a3)+diag(a4,1)+diag(a4,-1);
M(1,1)=1/3;
M(n,n)=1/3;
M=Dx*M;
% Cálculo del incremento Dt para la variable temporal.
Dt=b/(m-1);
% Cálculo de la matriz única de coeficientes del sistema
AA=M+Dt*A;
% Matriz solución encerada para cálculos
Usol=zeros(n,n);
% Condición inicial en matriz solución
x=linspace(0,a,n);
G=@(x) (sin(pi*x)*(1+2*cos(pi*x)));
for i=1:n
123
Usol(i,1)=G(x(i));
U0(i)=G(x(i));
end
% Cálculo del término independiente
M1=M;
% tomamos la matriz de Dirichlet, filas 2:n-1, columnas 2:n-1.
PAA=AA(2:n-1,2:n-1);
PM1=M1(2:n-1,2:n-1);
PU0=U0(2:n-1);
% Cálculo de la solución exacta Uexat
Uexat=Sol_exacta_P1(a,b,n,m);
% Resolvemos el sistema
for j=2:m
U=PAA\(PM1*PU0’);
P=interpolLagrange(x,[0;U;0]’); % P=Polinomio interpolador
P1=interpolLagrange(x,Uexat(:,j)’);
q=0:0.01:1; % nuevo vector abscisa para graficar la solución
y=polyval(P,q);
y1=polyval(P1,q);
hold on
figure(j)
plot(q,y,’b’)
hold on
plot(q,y1,’r’)
% nuevo vector para resolver el sistema
PU0=U’;
Usol(2:n-1,j)=U; % Asignamos las soluciones obtenidas
% a la matriz Usol
end
figure(m+1)
surf(Usol)
xlabel(’Tiempo’);
124
ylabel(’Espacio’);
zlabel(’Valores de la Solución U’);
end
Algoritmo 7, problema tipo, método Meshless
% Problema 6 método Meshless.
function [U]=FBR_Meshless2_D1(a,b,n,m)
Dx=a/(n-1);
x=0:Dx:a;
c=0.13;
teta=0.5;
k=1;
Dt=b/(m-1);
% Cálculo de los valores de Landa para t=0. Sistema co*Landa^n=F
% Cálculo de la matriz de coeficientes co, por las condiciones de
% frontera e inicial
% Condiciones de frontera x1=0
t=x(1);
for j=1:n
co(1,j)=((t-x(j))^2+c^2)^(1/2);
end
% Condición de frontera xn=0
t=x(n);
for j=1:n
co(n,j)=((t-x(j))^2+c^2)^(1/2);
end
% Condición inicial U(x,0)=F(x)
for i=2:(n-1)
t=x(i);
for j=1:n
co(i,j)=((t-x(j))^2+c^2)^(1/2);
125
end
end
% Cálculo del vector de términos independientes
for i=2:(n-1)
F(i)=sin(pi*x(i))*(1+2*cos(pi*x(i)));
end
F(1)=0;
F(n)=0;
U(:,1)=F’;
% Calculo del vector landa^n
land0=co\F’;
for l=2:m
% Cálculo de la matriz A del sistema de ecuaciones
% A*Landa^(n+1)=F1
for i=1:n
t=x(i);
for j=1:n
A(i,j)=(((x(i)-x(j))^2+c^2)^2-k*teta*Dt*c^2)/(((x(i)
-x(j))^2+c^2)^(3/2));
end
end
%Matriz de términos independientes
cont2=0;
for i=1:n
t=x(i);
for j=1:n
cont2=cont2+land0(j)*(((x(i)-x(j))^2+c^2)^2
+k*(1-teta)*Dt*c^2)/(((x(i)-x(j))^2+c^2)^(3/2));
end
F1(i)=cont2;
cont2=0;
F1(1)=0;
126
end
F1(n)=0;
% Cálculo de landa^(n+1)
land1=A\F1’;
%Cálculo de U para el siguiente nivel a t=0 con (Dt=0.027777)
cont3=0;
for i=1:n
t=x(i);
for j=1:n
cont3=cont3+land1(j)*((t-x(j))^2+c^2)^(1/2);
end
U(i,l)=cont3;
U(1,l)=0;
U(n,l)=0;
cont3=0;
end
land0=land1;
end
% Cálculo de la solución exacta
Uexat=Sol_exacta_P1(a,b,n,m);
% Representación gráfica de las soluciones U y Uexat
for i=1:m
P=interpolLagrange(x,U(:,i)’); % P=Polinomio interpolador
P1=interpolLagrange(x,Uexat(:,i)’);
q=0:0.01:1; % nuevo vector abscisa para graficar la solución
y=polyval(P,q);
y1=polyval(P1,q);
figure(i+1)
plot(q,y1,’r’)
hold on
plot(q,y,’b’)
xlabel(’Espacio’);
127
ylabel(’Valores de la Solución U’);
hold off
end
figure(m+2)
surf(U)
xlabel(’Tiempo’);
ylabel(’Espacio’);
zlabel(’Valores de la Solución U’);
end
Algoritmo 8, error absoluto
% Error absoluto.
function [Err Max_Err niv_tem Err_prom]=Error_Analisis(Uexat,U)
[n m]=size(U);
% Gráficas de las soluciones U y Uexat
subplot(1,2,1)
plot(Uexat)
xlabel(’Variable espacial’);
ylabel(’Valores de Uexat’);
title(’Solución Uexat en cada nivel temporal’)
subplot(1,2,2)
plot(U)
xlabel(’Variable espacial’);
ylabel(’Valores de U’);
title(’Solución U en cada nivel temporal’)
figure(2)
subplot(2,1,1)
plot(Uexat’)
xlabel(’Variable temporal’);
ylabel(’Valores de Uexat’);
title(’Solución Uexat en cada nivel espacial Xi’)
128
subplot(2,1,2)
plot(U’)
xlabel(’Variable temporal’);
ylabel(’Valores de U’);
title(’Solución U en cada nivel espacial Xi’)
% Cálculo de la matriz de errores ’Err’
err=abs(Uexat-U);
% gráfica del error con respecto al nivel temporal
figure(3)
subplot(2,1,1)
plot(err)
xlabel(’Variable espacial’);
ylabel(’Valores del error’);
title(’Gráficas del Error en cada nivel temporal tj’)
% Gráfica del error con respecto al nivel espacial Xi
subplot(2,1,2)
plot(err’)
xlabel(’Variable temporal’);
ylabel(’Valores del error’);
title(’Gráficas del Error en cada nivel espacial Xi’)
% Calculemos los màximos errores, en cada
% nivel temporal(por columna)
[maxerr]=max(err);
figure(4)
plot(maxerr)
xlabel(’Variable temporal’);
ylabel(’Valores del error’);
title(’Error máximo para cada nivel temporal tj’)
% Cálculo del máximo error de la matriz error ’err’
[Max_Err niv_tem]=max(maxerr);
Err_prom=sum(maxerr)/m;
% Comportamiento del Error:
129
% Transversalmente en cada nivel de tiempo ti
for j=1:m
figure(j+4)
plot(err(:,j),’b’)
xlabel(’Variable espacial’);
ylabel(’Valores del error’);
title(’Error con respecto al nivel temporal tj, (j=1,2,...m)’)
end
% En cada nivel espacial Xi
for i=1:n
figure(i+m+4)
plot(err(i,:),’r’)
xlabel(’Variable temporal’);
ylabel(’Valores del error’);
title(’Error con respecto a la variable espacial Xi, (i=1,2,...n)’)
end
end
Algoritmo 9, error cuadrático medio
% Error cuadrático medio.
function [Max_Ecm niv_tem Ecm_prom]=Error_medio_cuadratico(Uexat,U)
b=0.5;
[n m]=size(U);
Dif=Uexat-U;
Err=Dif.^2;
for j=1:m
Ecm(j)=sqrt(sum(Err(:,j))/n);
end
t=linspace(0,b,m);
plot(t,Ecm)
[Max_Ecm niv_tem]=max(Ecm);
130
Ecm_prom=sum(Ecm)/m;
xlabel(’Variable Temporal’);
ylabel(’Error medio cuadrático’);
end
Algoritmo 10, error medio cuadrático relativo
% Error medio cuadrático relativo.
function [Max_EmcR niv_tem EmcR_prom]=
Error_medio_cuadratico_Relativo(Uexat,U)
b=0.5;
[n m]=size(U);
Dif(2:n-1,2:m)=(Uexat(2:n-1,2:m)-U(2:n-1,2:m))./Uexat(2:n-1,2:m);
Dif(n,:)=0;
Err=Dif.^2;
for j=1:m
EmcR(j)=sqrt(sum(Err(:,j))/n);
end
t=linspace(0,b,m);
plot(t,EmcR)
[Max_EmcR niv_tem]=max(EmcR);
EmcR_prom=sum(EmcR)/m;
xlabel(’Variable Temporal’);
ylabel(’Error Medio Cuadrático Relativo’);
end
Algoritmo 11, polinomio interpolador Lagrange
% Desarrollado en la asignatura métodos numéricos - ESPE
% Programa de interpolacion, método de Lagrange.
function cont=interpolLagrange(x,fx)
s1=length(x);
s2=length(fx);
131
cont=0;
for k=1:s1
cont=cont+fx(k)*lagrange(x,k);
end
end
% Función auxiliar para el programa
function LG=lagrange(x,k)
rr=1;
ss=1;
s=length(x);
for j=1:s
if j~=k
rr=conv(rr,poly(x(j)));
ss=ss*(x(k)-x(j));
else
poly(x(j))==1;
end
LG=(1/ss)*rr;
end
Algoritmo 12, sistema matricial tridiagonal de ecuaciones
% Desarrollado en la asignatura métodos numéricos - ESPE
% Programa sistema tridiagonal
function D=sistem_Tridiagonal(A,B,C,D,n)
A=[0 A];
for i=2:n
r=A(i)/B(i-1);
B(i)=B(i)-r*C(i-1);
D(i)=D(i)-r*D(i-1);
end
D(n)=D(n)/B(n);
132
for i=n-1:-1:1
D(i)=(D(i)-C(i)*D(i+1))/B(i);
end
%disp(’soluciones del sistema’);
end
133
Tabla de Matrices
Solución exacta, problema tipo
>> U=Sol_exacta_P1(1,0.5,19,39)
U =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.3559 0.2549 0.1896 0.1461 0.1162
0.9848 0.6827 0.4912 0.3670 0.2839 0.2265
1.3660 0.9543 0.6921 0.5209 0.4059 0.3257
1.6276 1.1503 0.8442 0.6427 0.5057 0.4091
1.7509 1.2586 0.9393 0.7262 0.5790 0.4735
1.7321 1.2757 0.9744 0.7689 0.6236 0.5169
1.5825 1.2076 0.9522 0.7718 0.6395 0.5388
1.3268 1.0683 0.8806 0.7390 0.6286 0.5399
1.0000 0.8782 0.7713 0.6773 0.5948 0.5224
0.6428 0.6614 0.6385 0.5951 0.5430 0.4890
0.2969 0.4429 0.4973 0.5012 0.4785 0.4430
-0.0000 0.2454 0.3615 0.4043 0.4067 0.3879
-0.2188 0.0869 0.2424 0.3116 0.3324 0.3268
-0.3420 -0.0213 0.1473 0.2281 0.2591 0.2624
-0.3660 -0.0760 0.0792 0.1564 0.1890 0.1967
-0.3008 -0.0820 0.0363 0.0964 0.1230 0.1308
-0.1684 -0.0509 0.0129 0.0456 0.0605 0.0652
-0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000
Columns 7 through 12
0 0 0 0 0 0
0.0948 0.0790 0.0668 0.0572 0.0493 0.0427
0.1854 0.1547 0.1311 0.1123 0.0969 0.0841
0.2678 0.2243 0.1905 0.1635 0.1413 0.1227
0.3385 0.2849 0.2429 0.2089 0.1809 0.1573
0.3951 0.3346 0.2865 0.2472 0.2145 0.1868
134
0.4357 0.3718 0.3200 0.2772 0.2411 0.2104
0.4596 0.3956 0.3426 0.2980 0.2600 0.2273
0.4670 0.4058 0.3538 0.3092 0.2707 0.2372
0.4588 0.4029 0.3538 0.3107 0.2729 0.2397
0.4367 0.3878 0.3431 0.3028 0.2669 0.2349
0.4026 0.3617 0.3224 0.2860 0.2529 0.2231
0.3590 0.3261 0.2929 0.2610 0.2315 0.2047
0.3078 0.2827 0.2556 0.2289 0.2036 0.1803
0.2513 0.2330 0.2120 0.1906 0.1700 0.1508
0.1910 0.1786 0.1633 0.1473 0.1316 0.1170
0.1284 0.1209 0.1109 0.1003 0.0898 0.0799
0.0645 0.0610 0.0561 0.0508 0.0455 0.0405
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 13 through 18
0 0 0 0 0 0
0.0372 0.0325 0.0284 0.0249 0.0218 0.0191
0.0733 0.0640 0.0560 0.0490 0.0430 0.0377
0.1069 0.0934 0.0818 0.0716 0.0628 0.0551
0.1372 0.1200 0.1050 0.0920 0.0807 0.0708
0.1632 0.1428 0.1250 0.1096 0.0962 0.0844
0.1840 0.1611 0.1412 0.1238 0.1086 0.0954
0.1990 0.1745 0.1530 0.1342 0.1178 0.1034
0.2080 0.1824 0.1601 0.1405 0.1234 0.1083
0.2105 0.1848 0.1623 0.1426 0.1252 0.1100
0.2066 0.1816 0.1596 0.1403 0.1232 0.1082
0.1965 0.1729 0.1521 0.1337 0.1175 0.1032
0.1806 0.1591 0.1400 0.1231 0.1082 0.0951
0.1593 0.1405 0.1237 0.1088 0.0957 0.0841
0.1334 0.1177 0.1037 0.0912 0.0802 0.0705
0.1035 0.0914 0.0806 0.0709 0.0624 0.0549
0.0707 0.0625 0.0551 0.0485 0.0427 0.0375
0.0359 0.0317 0.0280 0.0246 0.0217 0.0190
135
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 19 through 24
0 0 0 0 0 0
0.0168 0.0147 0.0129 0.0114 0.0100 0.0088
0.0331 0.0290 0.0255 0.0224 0.0197 0.0173
0.0484 0.0424 0.0373 0.0327 0.0287 0.0252
0.0622 0.0546 0.0479 0.0421 0.0369 0.0324
0.0741 0.0650 0.0571 0.0501 0.0440 0.0387
0.0837 0.0735 0.0645 0.0567 0.0498 0.0437
0.0908 0.0797 0.0700 0.0615 0.0540 0.0474
0.0951 0.0835 0.0734 0.0644 0.0566 0.0497
0.0966 0.0848 0.0745 0.0654 0.0574 0.0504
0.0951 0.0835 0.0733 0.0644 0.0566 0.0497
0.0907 0.0797 0.0700 0.0615 0.0540 0.0474
0.0836 0.0734 0.0645 0.0566 0.0497 0.0437
0.0739 0.0649 0.0570 0.0501 0.0440 0.0386
0.0620 0.0545 0.0478 0.0420 0.0369 0.0324
0.0482 0.0424 0.0372 0.0327 0.0287 0.0252
0.0330 0.0290 0.0255 0.0224 0.0196 0.0172
0.0167 0.0147 0.0129 0.0114 0.0100 0.0088
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 25 through 30
0 0 0 0 0 0
0.0077 0.0068 0.0059 0.0052 0.0046 0.0040
0.0152 0.0133 0.0117 0.0103 0.0090 0.0079
0.0222 0.0195 0.0171 0.0150 0.0132 0.0116
0.0285 0.0250 0.0220 0.0193 0.0169 0.0149
0.0339 0.0298 0.0262 0.0230 0.0202 0.0177
0.0384 0.0337 0.0296 0.0260 0.0228 0.0200
0.0416 0.0366 0.0321 0.0282 0.0248 0.0217
0.0436 0.0383 0.0337 0.0296 0.0260 0.0228
0.0443 0.0389 0.0342 0.0300 0.0264 0.0231
136
0.0436 0.0383 0.0336 0.0296 0.0260 0.0228
0.0416 0.0366 0.0321 0.0282 0.0248 0.0217
0.0384 0.0337 0.0296 0.0260 0.0228 0.0200
0.0339 0.0298 0.0262 0.0230 0.0202 0.0177
0.0285 0.0250 0.0220 0.0193 0.0169 0.0149
0.0221 0.0195 0.0171 0.0150 0.0132 0.0116
0.0151 0.0133 0.0117 0.0103 0.0090 0.0079
0.0077 0.0068 0.0059 0.0052 0.0046 0.0040
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 31 through 36
0 0 0 0 0 0
0.0035 0.0031 0.0027 0.0024 0.0021 0.0018
0.0070 0.0061 0.0054 0.0047 0.0041 0.0036
0.0102 0.0089 0.0078 0.0069 0.0060 0.0053
0.0131 0.0115 0.0101 0.0088 0.0078 0.0068
0.0156 0.0137 0.0120 0.0105 0.0093 0.0081
0.0176 0.0155 0.0136 0.0119 0.0105 0.0092
0.0191 0.0168 0.0147 0.0129 0.0114 0.0100
0.0200 0.0176 0.0154 0.0136 0.0119 0.0105
0.0203 0.0178 0.0157 0.0138 0.0121 0.0106
0.0200 0.0176 0.0154 0.0136 0.0119 0.0105
0.0191 0.0168 0.0147 0.0129 0.0114 0.0100
0.0176 0.0155 0.0136 0.0119 0.0105 0.0092
0.0156 0.0137 0.0120 0.0105 0.0093 0.0081
0.0131 0.0115 0.0101 0.0088 0.0078 0.0068
0.0102 0.0089 0.0078 0.0069 0.0060 0.0053
0.0070 0.0061 0.0054 0.0047 0.0041 0.0036
0.0035 0.0031 0.0027 0.0024 0.0021 0.0018
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 37 through 39
0 0 0
0.0016 0.0014 0.0012
137
0.0032 0.0028 0.0025
0.0047 0.0041 0.0036
0.0060 0.0053 0.0046
0.0071 0.0063 0.0055
0.0081 0.0071 0.0062
0.0088 0.0077 0.0068
0.0092 0.0081 0.0071
0.0093 0.0082 0.0072
0.0092 0.0081 0.0071
0.0088 0.0077 0.0068
0.0081 0.0071 0.0062
0.0071 0.0063 0.0055
0.0060 0.0053 0.0046
0.0047 0.0041 0.0036
0.0032 0.0028 0.0025
0.0016 0.0014 0.0012
0.0000 0.0000 0.0000
>>
Solución aproximada, problema tipo, esquema explícito
>> [r U]=Problema_1_Explicito(’sin(pi*x)*(1+2*cos(pi*x))’,
’0’,’0’,1,0.5,1,19,39)
r =
4.2632
U =
1.0e+029 *
Columns 1 through 6
0 0 0 0 0 0
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
138
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000
-0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000
0 0 0 0 0 0
Columns 7 through 12
0 0 0 0 0 0
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
139
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0 0 0 0 0 0
Columns 13 through 18
0 0 0 0 0 0
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0 0 0 0 0 0
Columns 19 through 24
0 0 0 0 0 0
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
140
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0 0 0 0 0 0
Columns 25 through 30
0 0 0 0 0 0
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0 0 0 0 0 0
Columns 31 through 36
141
0 0 0 0 0 0
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0002
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0004
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0006
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0008
0.0000 -0.0000 0.0000 -0.0000 0.0001 -0.0009
-0.0000 0.0000 -0.0000 0.0000 -0.0001 0.0011
0.0000 -0.0000 0.0000 -0.0000 0.0001 -0.0011
-0.0000 0.0000 -0.0000 0.0000 -0.0001 0.0012
0.0000 -0.0000 0.0000 -0.0000 0.0001 -0.0012
-0.0000 0.0000 -0.0000 0.0000 -0.0001 0.0011
0.0000 -0.0000 0.0000 -0.0000 0.0001 -0.0010
-0.0000 0.0000 -0.0000 0.0000 -0.0001 0.0009
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0007
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0005
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0004
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0002
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0001
0 0 0 0 0 0
Columns 37 through 39
0 0 0
0.0034 -0.0540 0.8609
-0.0067 0.1066 -1.6980
0.0098 -0.1561 2.4858
-0.0126 0.2009 -3.1969
0.0150 -0.2391 3.8018
-0.0169 0.2688 -4.2712
0.0182 -0.2883 4.5787
-0.0187 0.2963 -4.7049
0.0184 -0.2923 4.6418
-0.0174 0.2766 -4.3962
0.0157 -0.2507 3.9912
142
-0.0136 0.2171 -3.4643
0.0112 -0.1787 2.8628
-0.0086 0.1389 -2.2351
0.0062 -0.1003 1.6212
-0.0040 0.0643 -1.0448
0.0019 -0.0313 0.5094
0 0 0
>>
Solución aproximada, problema tipo, esquema explícito estable
>> [r U]=Problema_1_Explicito(’sin(pi*x)*(1+2*cos(pi*x))’,’0’,’0’,
1,0.5,1,19,339)
r =
0.4793
U =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.4934 0.4722 0.4522 0.4333 0.4153
0.9848 0.9427 0.9027 0.8649 0.8291 0.7951
1.3660 1.3087 1.2543 1.2028 1.1540 1.1077
1.6276 1.5613 1.4984 1.4388 1.3822 1.3285
1.7509 1.6828 1.6181 1.5568 1.4985 1.4431
1.7321 1.6694 1.6098 1.5531 1.4991 1.4478
1.5825 1.5316 1.4831 1.4369 1.3927 1.3505
1.3268 1.2927 1.2600 1.2285 1.1982 1.1691
1.0000 0.9854 0.9711 0.9569 0.9430 0.9293
0.6428 0.6482 0.6527 0.6563 0.6592 0.6612
0.2969 0.3204 0.3419 0.3616 0.3796 0.3960
-0.0000 0.0375 0.0722 0.1044 0.1342 0.1618
-0.2188 -0.1730 -0.1303 -0.0906 -0.0537 -0.0193
-0.3420 -0.2944 -0.2500 -0.2086 -0.1699 -0.1339
143
-0.3660 -0.3232 -0.2832 -0.2459 -0.2110 -0.1784
-0.3008 -0.2686 -0.2385 -0.2103 -0.1840 -0.1594
-0.1684 -0.1511 -0.1350 -0.1199 -0.1058 -0.0926
0 0 0 0 0 0
Columns 7 through 12
0 0 0 0 0 0
0.3983 0.3821 0.3668 0.3523 0.3385 0.3254
0.7629 0.7323 0.7033 0.6758 0.6497 0.6249
1.0637 1.0220 0.9825 0.9449 0.9092 0.8753
1.2776 1.2292 1.1832 1.1395 1.0980 1.0585
1.3904 1.3404 1.2928 1.2475 1.2044 1.1634
1.3989 1.3523 1.3080 1.2656 1.2253 1.1868
1.3102 1.2717 1.2348 1.1996 1.1658 1.1335
1.1411 1.1141 1.0882 1.0631 1.0390 1.0157
0.9157 0.9024 0.8893 0.8763 0.8636 0.8510
0.6626 0.6633 0.6634 0.6629 0.6619 0.6604
0.4108 0.4243 0.4364 0.4474 0.4571 0.4658
0.1872 0.2107 0.2323 0.2522 0.2704 0.2871
0.0126 0.0422 0.0696 0.0951 0.1186 0.1403
-0.1003 -0.0691 -0.0400 -0.0130 0.0122 0.0355
-0.1480 -0.1196 -0.0932 -0.0686 -0.0457 -0.0244
-0.1365 -0.1150 -0.0950 -0.0764 -0.0590 -0.0428
-0.0803 -0.0687 -0.0580 -0.0480 -0.0386 -0.0299
0 0 0 0 0 0
Columns 13 through 18
Solución aproximada, problema tipo, literal a). Crank-Nicolson
>> [r U ]=Cracnich_P1(’sin(pi*x)*(1+2*cos(pi*x))’,
’0’,’0’,1,0.5,1,19,39)
r =
4.2632
144
U =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.3546 0.2534 0.1883 0.1451 0.1154
0.9848 0.6803 0.4884 0.3644 0.2820 0.2251
1.3660 0.9510 0.6882 0.5176 0.4032 0.3238
1.6276 1.1466 0.8398 0.6388 0.5027 0.4070
1.7509 1.2548 0.9349 0.7223 0.5761 0.4715
1.7321 1.2725 0.9706 0.7656 0.6211 0.5152
1.5825 1.2052 0.9494 0.7694 0.6377 0.5376
1.3268 1.0671 0.8792 0.7379 0.6279 0.5395
1.0000 0.8783 0.7715 0.6776 0.5952 0.5228
0.6428 0.6629 0.6403 0.5968 0.5444 0.4902
0.2969 0.4455 0.5005 0.5041 0.4809 0.4449
-0.0000 0.2489 0.3657 0.4081 0.4098 0.3903
-0.2188 0.0909 0.2471 0.3158 0.3358 0.3295
-0.3420 -0.0174 0.1520 0.2323 0.2625 0.2651
-0.3660 -0.0726 0.0833 0.1601 0.1920 0.1990
-0.3008 -0.0795 0.0394 0.0991 0.1252 0.1325
-0.1684 -0.0496 0.0145 0.0471 0.0616 0.0661
0 0 0 0 0 0
Columns 7 through 12
0 0 0 0 0 0
0.0943 0.0786 0.0666 0.0570 0.0492 0.0427
0.1844 0.1541 0.1307 0.1121 0.0968 0.0841
0.2665 0.2235 0.1900 0.1632 0.1412 0.1227
0.3371 0.2840 0.2424 0.2087 0.1808 0.1573
0.3937 0.3338 0.2860 0.2470 0.2145 0.1869
0.4346 0.3711 0.3197 0.2771 0.2412 0.2106
0.4589 0.3952 0.3425 0.2980 0.2602 0.2276
0.4668 0.4058 0.3540 0.3094 0.2709 0.2375
0.4592 0.4033 0.3543 0.3112 0.2733 0.2401
145
0.4376 0.3886 0.3438 0.3034 0.2674 0.2354
0.4041 0.3628 0.3233 0.2867 0.2535 0.2236
0.3608 0.3275 0.2939 0.2619 0.2322 0.2052
0.3098 0.2842 0.2567 0.2297 0.2042 0.1809
0.2532 0.2345 0.2131 0.1914 0.1706 0.1513
0.1927 0.1799 0.1642 0.1480 0.1322 0.1174
0.1297 0.1218 0.1116 0.1008 0.0901 0.0801
0.0652 0.0614 0.0564 0.0510 0.0457 0.0406
0 0 0 0 0 0
Columns 13 through 18
0 0 0 0 0 0
0.0372 0.0325 0.0285 0.0249 0.0219 0.0192
0.0733 0.0640 0.0560 0.0491 0.0431 0.0378
0.1070 0.0935 0.0819 0.0718 0.0629 0.0552
0.1373 0.1201 0.1052 0.0922 0.0809 0.0710
0.1633 0.1429 0.1252 0.1098 0.0964 0.0846
0.1842 0.1613 0.1414 0.1241 0.1089 0.0956
0.1993 0.1747 0.1533 0.1345 0.1181 0.1037
0.2083 0.1828 0.1604 0.1408 0.1237 0.1086
0.2109 0.1852 0.1627 0.1429 0.1255 0.1102
0.2070 0.1820 0.1600 0.1406 0.1235 0.1085
0.1970 0.1733 0.1525 0.1340 0.1178 0.1035
0.1810 0.1595 0.1403 0.1234 0.1085 0.0954
0.1597 0.1408 0.1240 0.1091 0.0959 0.0843
0.1337 0.1180 0.1039 0.0915 0.0805 0.0707
0.1039 0.0917 0.0808 0.0711 0.0626 0.0550
0.0710 0.0627 0.0552 0.0486 0.0428 0.0376
0.0360 0.0318 0.0280 0.0247 0.0217 0.0191
0 0 0 0 0 0
Columns 19 through 24
0 0 0 0 0 0
0.0168 0.0148 0.0130 0.0114 0.0100 0.0088
146
0.0332 0.0291 0.0256 0.0225 0.0197 0.0173
0.0485 0.0426 0.0374 0.0328 0.0288 0.0253
0.0623 0.0547 0.0480 0.0422 0.0371 0.0325
0.0742 0.0652 0.0572 0.0503 0.0442 0.0388
0.0839 0.0737 0.0647 0.0568 0.0499 0.0438
0.0910 0.0799 0.0702 0.0617 0.0542 0.0476
0.0954 0.0838 0.0736 0.0646 0.0568 0.0499
0.0968 0.0850 0.0747 0.0656 0.0576 0.0506
0.0953 0.0837 0.0736 0.0646 0.0567 0.0498
0.0909 0.0799 0.0702 0.0616 0.0541 0.0476
0.0838 0.0736 0.0647 0.0568 0.0499 0.0438
0.0741 0.0651 0.0572 0.0502 0.0441 0.0388
0.0622 0.0546 0.0480 0.0422 0.0370 0.0325
0.0483 0.0425 0.0373 0.0328 0.0288 0.0253
0.0331 0.0291 0.0255 0.0224 0.0197 0.0173
0.0168 0.0148 0.0130 0.0114 0.0100 0.0088
0 0 0 0 0 0
Columns 25 through 30
0 0 0 0 0 0
0.0077 0.0068 0.0060 0.0052 0.0046 0.0040
0.0152 0.0134 0.0117 0.0103 0.0091 0.0079
0.0222 0.0195 0.0172 0.0151 0.0132 0.0116
0.0286 0.0251 0.0220 0.0194 0.0170 0.0149
0.0341 0.0299 0.0263 0.0231 0.0203 0.0178
0.0385 0.0338 0.0297 0.0261 0.0229 0.0201
0.0418 0.0367 0.0322 0.0283 0.0249 0.0218
0.0438 0.0385 0.0338 0.0297 0.0261 0.0229
0.0445 0.0391 0.0343 0.0301 0.0265 0.0232
0.0438 0.0385 0.0338 0.0297 0.0261 0.0229
0.0418 0.0367 0.0322 0.0283 0.0249 0.0218
0.0385 0.0338 0.0297 0.0261 0.0229 0.0201
0.0341 0.0299 0.0263 0.0231 0.0203 0.0178
147
0.0286 0.0251 0.0220 0.0194 0.0170 0.0149
0.0222 0.0195 0.0171 0.0151 0.0132 0.0116
0.0152 0.0134 0.0117 0.0103 0.0091 0.0079
0.0077 0.0068 0.0060 0.0052 0.0046 0.0040
0 0 0 0 0 0
Columns 31 through 36
0 0 0 0 0 0
0.0035 0.0031 0.0027 0.0024 0.0021 0.0019
0.0070 0.0061 0.0054 0.0047 0.0042 0.0037
0.0102 0.0090 0.0079 0.0069 0.0061 0.0053
0.0131 0.0115 0.0101 0.0089 0.0078 0.0069
0.0156 0.0137 0.0121 0.0106 0.0093 0.0082
0.0177 0.0155 0.0136 0.0120 0.0105 0.0092
0.0192 0.0169 0.0148 0.0130 0.0114 0.0100
0.0201 0.0177 0.0155 0.0136 0.0120 0.0105
0.0204 0.0179 0.0158 0.0138 0.0122 0.0107
0.0201 0.0177 0.0155 0.0136 0.0120 0.0105
0.0192 0.0169 0.0148 0.0130 0.0114 0.0100
0.0177 0.0155 0.0136 0.0120 0.0105 0.0092
0.0156 0.0137 0.0121 0.0106 0.0093 0.0082
0.0131 0.0115 0.0101 0.0089 0.0078 0.0069
0.0102 0.0090 0.0079 0.0069 0.0061 0.0053
0.0070 0.0061 0.0054 0.0047 0.0042 0.0037
0.0035 0.0031 0.0027 0.0024 0.0021 0.0019
0 0 0 0 0 0
Columns 37 through 39
0 0 0
0.0016 0.0014 0.0013
0.0032 0.0028 0.0025
0.0047 0.0041 0.0036
0.0060 0.0053 0.0046
0.0072 0.0063 0.0055
148
0.0081 0.0071 0.0063
0.0088 0.0077 0.0068
0.0092 0.0081 0.0071
0.0094 0.0082 0.0072
0.0092 0.0081 0.0071
0.0088 0.0077 0.0068
0.0081 0.0071 0.0063
0.0072 0.0063 0.0055
0.0060 0.0053 0.0046
0.0047 0.0041 0.0036
0.0032 0.0028 0.0025
0.0016 0.0014 0.0013
0 0 0
>>
Solución aproximada, problema tipo, literal b). Crank-Nicolson
>> [r U]=Cracnich_P1(’sin(pi*x)*(1+2*cos(pi*x))’,
’0’,’0’,1,2,1,39,99)
r =
29.4694
U =
Columns 1 through 6
0 0 0 0 0 0
0.2472 0.1377 0.0851 0.0578 0.0423 0.0324
0.4893 0.2730 0.1690 0.1150 0.0841 0.0645
0.7214 0.4036 0.2505 0.1709 0.1252 0.0961
0.9389 0.5273 0.3286 0.2248 0.1651 0.1269
1.1374 0.6421 0.4021 0.2763 0.2034 0.1567
1.3131 0.7460 0.4701 0.3247 0.2399 0.1852
1.4627 0.8376 0.5318 0.3695 0.2741 0.2122
1.5836 0.9154 0.5865 0.4103 0.3059 0.2374
149
1.6739 0.9786 0.6336 0.4469 0.3349 0.2608
1.7323 1.0263 0.6726 0.4787 0.3610 0.2821
1.7585 1.0584 0.7033 0.5058 0.3839 0.3011
1.7529 1.0747 0.7256 0.5278 0.4035 0.3179
1.7166 1.0758 0.7395 0.5448 0.4198 0.3322
1.6515 1.0621 0.7453 0.5567 0.4326 0.3440
1.5600 1.0349 0.7433 0.5637 0.4420 0.3532
1.4453 0.9951 0.7338 0.5658 0.4479 0.3598
1.3111 0.9445 0.7176 0.5633 0.4504 0.3639
1.1612 0.8845 0.6953 0.5565 0.4497 0.3653
1.0000 0.8171 0.6677 0.5455 0.4458 0.3642
0.8320 0.7441 0.6354 0.5309 0.4388 0.3607
0.6617 0.6674 0.5995 0.5129 0.4289 0.3547
0.4935 0.5891 0.5606 0.4919 0.4164 0.3464
0.3316 0.5108 0.5197 0.4683 0.4013 0.3358
0.1800 0.4344 0.4775 0.4425 0.3839 0.3232
0.0423 0.3615 0.4348 0.4148 0.3643 0.3085
-0.0786 0.2934 0.3923 0.3856 0.3428 0.2920
-0.1803 0.2313 0.3504 0.3552 0.3197 0.2737
-0.2609 0.1760 0.3098 0.3240 0.2950 0.2539
-0.3193 0.1283 0.2708 0.2921 0.2689 0.2326
-0.3552 0.0883 0.2337 0.2598 0.2417 0.2100
-0.3688 0.0562 0.1985 0.2273 0.2135 0.1863
-0.3612 0.0318 0.1654 0.1947 0.1844 0.1615
-0.3340 0.0144 0.1343 0.1620 0.1547 0.1359
-0.2895 0.0033 0.1050 0.1294 0.1244 0.1096
-0.2305 -0.0025 0.0773 0.0970 0.0937 0.0827
-0.1601 -0.0040 0.0508 0.0646 0.0626 0.0554
-0.0820 -0.0027 0.0252 0.0323 0.0314 0.0278
0 0 0 0 0 0
Columns 7 through 12
150
Solución exacta, problema tipo, literal b)
>> U=Sol_exacta_P1(1,2,39,99)
U =
Columns 1 through 6
0 0 0 0 0 0
0.2472 0.1411 0.0881 0.0598 0.0435 0.0331
0.4893 0.2796 0.1748 0.1189 0.0865 0.0659
0.7214 0.4133 0.2591 0.1766 0.1286 0.0981
0.9389 0.5399 0.3396 0.2322 0.1695 0.1295
1.1374 0.6571 0.4154 0.2851 0.2088 0.1598
1.3131 0.7632 0.4852 0.3348 0.2460 0.1888
1.4627 0.8563 0.5484 0.3806 0.2809 0.2161
1.5836 0.9353 0.6041 0.4221 0.3130 0.2416
1.6739 0.9990 0.6516 0.4590 0.3423 0.2651
1.7323 1.0468 0.6907 0.4909 0.3684 0.2865
1.7585 1.0783 0.7210 0.5177 0.3912 0.3055
1.7529 1.0936 0.7424 0.5392 0.4105 0.3221
1.7166 1.0931 0.7550 0.5553 0.4263 0.3362
1.6515 1.0774 0.7590 0.5661 0.4385 0.3476
1.5600 1.0477 0.7548 0.5716 0.4470 0.3564
1.4453 1.0052 0.7430 0.5722 0.4521 0.3626
1.3111 0.9515 0.7241 0.5680 0.4536 0.3661
1.1612 0.8883 0.6990 0.5593 0.4518 0.3670
1.0000 0.8176 0.6684 0.5465 0.4468 0.3653
0.8320 0.7412 0.6333 0.5299 0.4387 0.3611
0.6617 0.6613 0.5945 0.5101 0.4278 0.3545
0.4935 0.5799 0.5530 0.4873 0.4141 0.3456
0.3316 0.4989 0.5096 0.4621 0.3981 0.3345
0.1800 0.4200 0.4653 0.4348 0.3798 0.3214
0.0423 0.3450 0.4207 0.4060 0.3596 0.3063
-0.0786 0.2753 0.3768 0.3758 0.3375 0.2895
151
-0.1803 0.2121 0.3340 0.3448 0.3139 0.2710
-0.2609 0.1562 0.2928 0.3132 0.2890 0.2510
-0.3193 0.1085 0.2538 0.2812 0.2629 0.2297
-0.3552 0.0690 0.2170 0.2492 0.2358 0.2071
-0.3688 0.0380 0.1828 0.2172 0.2079 0.1835
-0.3612 0.0151 0.1510 0.1854 0.1793 0.1589
-0.3340 -0.0003 0.1216 0.1539 0.1502 0.1336
-0.2895 -0.0090 0.0944 0.1227 0.1206 0.1077
-0.2305 -0.0119 0.0691 0.0917 0.0907 0.0812
-0.1601 -0.0105 0.0452 0.0610 0.0606 0.0543
-0.0820 -0.0060 0.0223 0.0304 0.0303 0.0272
-0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000
Columns 7 through 12
Solución aproximada, problema tipo comprobación
>> [r U]=Cracnich_P_general(’sin(pi*x)*
(1+2*cos(pi*x))’,
’0’,’0’,’0’,1,0.5,1,1,1,0.00001,0.00001,19,39)
r =
4.2632
U =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.3546 0.2534 0.1883 0.1451 0.1154
0.9848 0.6803 0.4884 0.3644 0.2820 0.2251
1.3660 0.9510 0.6882 0.5176 0.4032 0.3238
1.6276 1.1466 0.8398 0.6388 0.5027 0.4070
1.7509 1.2548 0.9349 0.7223 0.5761 0.4715
1.7321 1.2725 0.9706 0.7656 0.6211 0.5152
1.5825 1.2052 0.9494 0.7694 0.6377 0.5376
1.3268 1.0671 0.8792 0.7379 0.6279 0.5395
152
1.0000 0.8783 0.7715 0.6776 0.5952 0.5228
0.6428 0.6629 0.6403 0.5968 0.5444 0.4902
0.2969 0.4455 0.5005 0.5041 0.4809 0.4449
-0.0000 0.2489 0.3657 0.4081 0.4098 0.3903
-0.2188 0.0909 0.2471 0.3158 0.3358 0.3295
-0.3420 -0.0174 0.1520 0.2323 0.2625 0.2651
-0.3660 -0.0726 0.0833 0.1601 0.1920 0.1990
-0.3008 -0.0795 0.0394 0.0991 0.1252 0.1325
-0.1684 -0.0496 0.0145 0.0471 0.0616 0.0661
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000
Columns 7 through 12
0 0 0 0 0 0
0.0943 0.0786 0.0666 0.0570 0.0492 0.0427
0.1844 0.1541 0.1307 0.1121 0.0968 0.0841
0.2665 0.2235 0.1900 0.1632 0.1412 0.1227
0.3371 0.2840 0.2424 0.2087 0.1808 0.1573
0.3937 0.3338 0.2860 0.2470 0.2145 0.1869
0.4346 0.3711 0.3197 0.2771 0.2412 0.2106
0.4589 0.3952 0.3425 0.2980 0.2602 0.2276
0.4668 0.4058 0.3540 0.3094 0.2709 0.2375
0.4592 0.4033 0.3543 0.3112 0.2733 0.2401
0.4376 0.3886 0.3438 0.3034 0.2674 0.2354
0.4041 0.3628 0.3233 0.2867 0.2535 0.2236
0.3608 0.3275 0.2939 0.2619 0.2322 0.2052
0.3098 0.2842 0.2567 0.2297 0.2042 0.1809
0.2532 0.2345 0.2131 0.1914 0.1706 0.1513
0.1927 0.1799 0.1642 0.1480 0.1322 0.1174
0.1297 0.1218 0.1116 0.1008 0.0901 0.0801
0.0652 0.0614 0.0564 0.0510 0.0457 0.0406
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000
Columns 13 through 18
0 0 0 0 0 0
153
0.0372 0.0325 0.0285 0.0249 0.0219 0.0192
0.0733 0.0640 0.0560 0.0491 0.0431 0.0378
0.1070 0.0935 0.0819 0.0718 0.0629 0.0552
0.1373 0.1201 0.1052 0.0922 0.0809 0.0710
0.1633 0.1429 0.1252 0.1098 0.0964 0.0846
0.1842 0.1613 0.1414 0.1241 0.1089 0.0956
0.1993 0.1747 0.1533 0.1345 0.1181 0.1037
0.2083 0.1828 0.1604 0.1408 0.1237 0.1086
0.2109 0.1852 0.1627 0.1429 0.1255 0.1102
0.2070 0.1820 0.1600 0.1406 0.1235 0.1085
0.1970 0.1733 0.1525 0.1340 0.1178 0.1035
0.1810 0.1595 0.1403 0.1234 0.1085 0.0954
0.1597 0.1408 0.1240 0.1091 0.0959 0.0843
0.1337 0.1180 0.1039 0.0915 0.0805 0.0707
0.1039 0.0917 0.0808 0.0711 0.0626 0.0550
0.0710 0.0627 0.0552 0.0486 0.0428 0.0376
0.0360 0.0318 0.0280 0.0247 0.0217 0.0191
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000
Columns 19 through 24
0 0 0 0 0 0
0.0168 0.0148 0.0130 0.0114 0.0100 0.0088
0.0332 0.0291 0.0256 0.0225 0.0197 0.0173
0.0485 0.0426 0.0374 0.0328 0.0288 0.0253
0.0623 0.0547 0.0480 0.0422 0.0371 0.0325
0.0742 0.0652 0.0572 0.0503 0.0442 0.0388
0.0839 0.0737 0.0647 0.0568 0.0499 0.0438
0.0910 0.0799 0.0702 0.0617 0.0542 0.0476
0.0954 0.0838 0.0736 0.0646 0.0568 0.0499
0.0968 0.0850 0.0747 0.0656 0.0576 0.0506
0.0953 0.0837 0.0736 0.0646 0.0567 0.0498
0.0909 0.0799 0.0702 0.0616 0.0541 0.0476
0.0838 0.0736 0.0647 0.0568 0.0499 0.0438
154
0.0741 0.0651 0.0572 0.0502 0.0441 0.0388
0.0622 0.0546 0.0480 0.0422 0.0370 0.0325
0.0483 0.0425 0.0373 0.0328 0.0288 0.0253
0.0331 0.0291 0.0255 0.0224 0.0197 0.0173
0.0168 0.0148 0.0130 0.0114 0.0100 0.0088
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000
Columns 25 through 30
0 0 0 0 0 0
0.0077 0.0068 0.0060 0.0052 0.0046 0.0040
0.0152 0.0134 0.0117 0.0103 0.0091 0.0079
0.0222 0.0195 0.0172 0.0151 0.0132 0.0116
0.0286 0.0251 0.0220 0.0194 0.0170 0.0149
0.0341 0.0299 0.0263 0.0231 0.0203 0.0178
0.0385 0.0338 0.0297 0.0261 0.0229 0.0201
0.0418 0.0367 0.0322 0.0283 0.0249 0.0218
0.0438 0.0385 0.0338 0.0297 0.0261 0.0229
0.0445 0.0391 0.0343 0.0301 0.0265 0.0232
0.0438 0.0385 0.0338 0.0297 0.0261 0.0229
0.0418 0.0367 0.0322 0.0283 0.0249 0.0218
0.0385 0.0338 0.0297 0.0261 0.0229 0.0201
0.0341 0.0299 0.0263 0.0231 0.0203 0.0178
0.0286 0.0251 0.0220 0.0194 0.0170 0.0149
0.0222 0.0195 0.0171 0.0151 0.0132 0.0116
0.0152 0.0134 0.0117 0.0103 0.0091 0.0079
0.0077 0.0068 0.0060 0.0052 0.0046 0.0040
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000
Columns 31 through 36
0 0 0 0 0 0
0.0035 0.0031 0.0027 0.0024 0.0021 0.0019
0.0070 0.0061 0.0054 0.0047 0.0042 0.0037
0.0102 0.0090 0.0079 0.0069 0.0061 0.0053
0.0131 0.0115 0.0101 0.0089 0.0078 0.0069
155
0.0156 0.0137 0.0121 0.0106 0.0093 0.0082
0.0177 0.0155 0.0136 0.0120 0.0105 0.0092
0.0192 0.0169 0.0148 0.0130 0.0114 0.0100
0.0201 0.0177 0.0155 0.0136 0.0120 0.0105
0.0204 0.0179 0.0158 0.0138 0.0122 0.0107
0.0201 0.0177 0.0155 0.0136 0.0120 0.0105
0.0192 0.0169 0.0148 0.0130 0.0114 0.0100
0.0177 0.0155 0.0136 0.0120 0.0105 0.0092
0.0156 0.0137 0.0121 0.0106 0.0093 0.0082
0.0131 0.0115 0.0101 0.0089 0.0078 0.0069
0.0102 0.0090 0.0079 0.0069 0.0061 0.0053
0.0070 0.0061 0.0054 0.0047 0.0042 0.0037
0.0035 0.0031 0.0027 0.0024 0.0021 0.0019
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000
Columns 37 through 39
0 0 0
0.0016 0.0014 0.0013
0.0032 0.0028 0.0025
0.0047 0.0041 0.0036
0.0060 0.0053 0.0046
0.0072 0.0063 0.0055
0.0081 0.0071 0.0063
0.0088 0.0077 0.0068
0.0092 0.0081 0.0071
0.0094 0.0082 0.0072
0.0092 0.0081 0.0071
0.0088 0.0077 0.0068
0.0081 0.0071 0.0063
0.0072 0.0063 0.0055
0.0060 0.0053 0.0046
0.0047 0.0041 0.0036
0.0032 0.0028 0.0025
156
0.0016 0.0014 0.0013
-0.0000 -0.0000 -0.0000
>>
Solución aproximada, problema 2 no homogéneo
>> [r U]=Cracnich_P_general(’sin(pi*x)*(1+2*cos(pi*x))’,’0’,
’t’,’10*x+t’,1,0.5,1,1,1,0.00001,0.00001,19,39)
r =
4.2632
U =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.3620 0.2682 0.2104 0.1744 0.1517
0.9848 0.6950 0.5178 0.4085 0.3404 0.2973
1.3660 0.9730 0.7323 0.5835 0.4905 0.4313
1.6276 1.1759 0.8985 0.7265 0.6185 0.5491
1.7509 1.2914 1.0081 0.8315 0.7197 0.6471
1.7321 1.3164 1.0582 0.8958 0.7916 0.7226
1.5825 1.2564 1.0513 0.9202 0.8338 0.7747
1.3268 1.1255 0.9950 0.9082 0.8476 0.8031
1.0000 0.9439 0.9007 0.8658 0.8356 0.8085
0.6428 0.7354 0.7821 0.8004 0.8012 0.7923
0.2969 0.5247 0.6531 0.7195 0.7483 0.7560
-0.0000 0.3341 0.5264 0.6295 0.6798 0.7006
-0.2188 0.1810 0.4111 0.5349 0.5981 0.6268
-0.3420 0.0752 0.3118 0.4379 0.5038 0.5341
-0.3660 0.0178 0.2269 0.3373 0.3955 0.4212
-0.3008 -0.0002 0.1492 0.2296 0.2699 0.2858
-0.1684 0.0008 0.0675 0.1086 0.1214 0.1256
-0.0000 -0.0131 -0.0263 -0.0395 -0.0526 -0.0658
Columns 7 through 12
157
0 0 0 0 0 0
0.1370 0.1272 0.1204 0.1154 0.1117 0.1088
0.2693 0.2505 0.2373 0.2278 0.2205 0.2148
0.3926 0.3665 0.3480 0.3345 0.3241 0.3157
0.5034 0.4720 0.4496 0.4329 0.4199 0.4093
0.5983 0.5643 0.5396 0.5207 0.5057 0.4933
0.6752 0.6412 0.6156 0.5956 0.5794 0.5657
0.7323 0.7007 0.6759 0.6558 0.6389 0.6244
0.7688 0.7414 0.7187 0.6993 0.6824 0.6675
0.7843 0.7624 0.7425 0.7245 0.7081 0.6930
0.7786 0.7627 0.7462 0.7299 0.7142 0.6994
0.7520 0.7418 0.7285 0.7140 0.6992 0.6848
0.7044 0.6988 0.6883 0.6754 0.6615 0.6475
0.6354 0.6329 0.6243 0.6127 0.5995 0.5859
0.5442 0.5429 0.5352 0.5243 0.5116 0.4984
0.4295 0.4273 0.4196 0.4087 0.3963 0.3832
0.2893 0.2843 0.2756 0.2641 0.2518 0.2387
0.1202 0.1123 0.1011 0.0893 0.0763 0.0634
-0.0789 -0.0921 -0.1053 -0.1184 -0.1316 -0.1447
Columns 13 through 18
0 0 0 0 0 0
0.1064 0.1044 0.1026 0.1011 0.0998 0.0985
0.2101 0.2061 0.2026 0.1996 0.1968 0.1944
0.3088 0.3030 0.2978 0.2933 0.2893 0.2856
0.4005 0.3929 0.3862 0.3803 0.3750 0.3701
0.4829 0.4738 0.4657 0.4585 0.4520 0.4460
0.5539 0.5436 0.5343 0.5259 0.5183 0.5113
0.6116 0.6002 0.5900 0.5806 0.5720 0.5640
0.6540 0.6419 0.6307 0.6205 0.6110 0.6022
0.6792 0.6665 0.6548 0.6438 0.6336 0.6240
0.6854 0.6724 0.6601 0.6486 0.6378 0.6276
0.6708 0.6576 0.6450 0.6330 0.6217 0.6109
158
0.6337 0.6203 0.6075 0.5952 0.5835 0.5723
0.5723 0.5589 0.5460 0.5335 0.5214 0.5098
0.4849 0.4716 0.4586 0.4459 0.4336 0.4216
0.3699 0.3567 0.3436 0.3308 0.3182 0.3060
0.2256 0.2123 0.1993 0.1864 0.1736 0.1611
0.0502 0.0371 0.0239 0.0109 -0.0020 -0.0149
-0.1579 -0.1710 -0.1842 -0.1974 -0.2105 -0.2237
Columns 19 through 24
0 0 0 0 0 0
0.0974 0.0964 0.0955 0.0946 0.0938 0.0930
0.1921 0.1901 0.1882 0.1864 0.1848 0.1832
0.2822 0.2791 0.2762 0.2736 0.2711 0.2687
0.3656 0.3615 0.3577 0.3541 0.3508 0.3476
0.4405 0.4354 0.4306 0.4261 0.4219 0.4180
0.5048 0.4987 0.4931 0.4877 0.4827 0.4779
0.5566 0.5496 0.5431 0.5370 0.5311 0.5256
0.5940 0.5862 0.5789 0.5719 0.5653 0.5590
0.6150 0.6065 0.5984 0.5908 0.5834 0.5763
0.6179 0.6087 0.5999 0.5915 0.5834 0.5757
0.6007 0.5908 0.5814 0.5724 0.5636 0.5551
0.5615 0.5511 0.5411 0.5314 0.5220 0.5128
0.4985 0.4876 0.4771 0.4668 0.4567 0.4469
0.4099 0.3986 0.3875 0.3766 0.3660 0.3555
0.2939 0.2821 0.2705 0.2591 0.2478 0.2367
0.1487 0.1364 0.1243 0.1123 0.1005 0.0887
-0.0277 -0.0403 -0.0530 -0.0655 -0.0780 -0.0905
-0.2368 -0.2500 -0.2631 -0.2763 -0.2895 -0.3026
Columns 25 through 30
0 0 0 0 0 0
0.0923 0.0916 0.0910 0.0904 0.0898 0.0893
0.1818 0.1804 0.1791 0.1779 0.1767 0.1755
0.2665 0.2644 0.2624 0.2605 0.2587 0.2569
159
0.3446 0.3418 0.3391 0.3365 0.3340 0.3315
0.4142 0.4106 0.4072 0.4039 0.4007 0.3976
0.4734 0.4690 0.4649 0.4608 0.4570 0.4532
0.5203 0.5152 0.5103 0.5055 0.5009 0.4964
0.5529 0.5471 0.5415 0.5360 0.5307 0.5255
0.5695 0.5630 0.5566 0.5504 0.5443 0.5384
0.5681 0.5608 0.5537 0.5468 0.5400 0.5334
0.5469 0.5389 0.5311 0.5234 0.5159 0.5085
0.5039 0.4952 0.4866 0.4782 0.4700 0.4618
0.4373 0.4279 0.4186 0.4094 0.4004 0.3915
0.3452 0.3351 0.3250 0.3151 0.3053 0.2956
0.2257 0.2149 0.2041 0.1934 0.1828 0.1723
0.0770 0.0654 0.0539 0.0424 0.0310 0.0196
-0.1029 -0.1152 -0.1276 -0.1399 -0.1521 -0.1644
-0.3158 -0.3289 -0.3421 -0.3553 -0.3684 -0.3816
Columns 31 through 36
0 0 0 0 0 0
0.0887 0.0882 0.0877 0.0872 0.0868 0.0863
0.1744 0.1733 0.1723 0.1713 0.1703 0.1693
0.2552 0.2535 0.2519 0.2503 0.2488 0.2473
0.3292 0.3269 0.3247 0.3226 0.3204 0.3184
0.3946 0.3917 0.3888 0.3861 0.3833 0.3807
0.4495 0.4459 0.4424 0.4390 0.4356 0.4323
0.4921 0.4878 0.4836 0.4795 0.4755 0.4715
0.5204 0.5154 0.5106 0.5058 0.5010 0.4964
0.5326 0.5269 0.5213 0.5158 0.5104 0.5050
0.5268 0.5204 0.5141 0.5078 0.5016 0.4955
0.5012 0.4940 0.4869 0.4799 0.4729 0.4660
0.4537 0.4458 0.4379 0.4301 0.4223 0.4146
0.3826 0.3739 0.3652 0.3566 0.3480 0.3395
0.2859 0.2764 0.2668 0.2574 0.2479 0.2386
0.1618 0.1514 0.1410 0.1306 0.1203 0.1100
160
0.0082 -0.0031 -0.0143 -0.0256 -0.0368 -0.0480
-0.1766 -0.1888 -0.2010 -0.2132 -0.2254 -0.2376
-0.3947 -0.4079 -0.4210 -0.4342 -0.4474 -0.4605
Columns 37 through 39
0 0 0
0.0858 0.0854 0.0850
0.1684 0.1675 0.1665
0.2458 0.2444 0.2429
0.3163 0.3143 0.3123
0.3780 0.3754 0.3729
0.4291 0.4258 0.4227
0.4676 0.4637 0.4599
0.4918 0.4872 0.4827
0.4997 0.4944 0.4891
0.4894 0.4834 0.4774
0.4592 0.4524 0.4456
0.4070 0.3994 0.3918
0.3310 0.3225 0.3141
0.2292 0.2199 0.2106
0.0998 0.0896 0.0794
-0.0592 -0.0704 -0.0815
-0.2497 -0.2618 -0.2740
-0.4737 -0.4868 -0.5000
>>
Solución aproximada, problema tipo, elementos finitos, n = 6
>> [Usol] = MEF_calor_1D(1,0.5,19)
Usol =
Columns 1 through 6
0 0 0 0 0 0
1.5388 0.8813 0.5453 0.3620 0.2540 0.1855
161
1.5388 1.0027 0.6939 0.5018 0.3737 0.2835
0.3633 0.4795 0.4611 0.3982 0.3276 0.2630
-0.3633 0.0348 0.1685 0.1943 0.1794 0.1523
-0.0000 0 0 0 0 0
Columns 7 through 12
0 0 0 0 0 0
0.1390 0.1058 0.0814 0.0629 0.0488 0.0379
0.2175 0.1680 0.1302 0.1012 0.0787 0.0613
0.2084 0.1639 0.1284 0.1004 0.0783 0.0611
0.1242 0.0993 0.0785 0.0616 0.0482 0.0377
0 0 0 0 0 0
Columns 13 through 18
0 0 0 0 0 0
0.0295 0.0230 0.0179 0.0139 0.0109 0.0085
0.0477 0.0372 0.0290 0.0226 0.0176 0.0137
0.0476 0.0371 0.0289 0.0226 0.0176 0.0137
0.0294 0.0229 0.0179 0.0139 0.0109 0.0085
0 0 0 0 0 0
Column 19
0
0.0066
0.0107
0.0107
0.0066
0
>>
Solución exacta, problematipo, n = 6
>> U=Sol_exacta_P1(1,0.5,6,19)
U =
Columns 1 through 6
162
0 0 0 0 0 0
1.5388 0.7645 0.4458 0.2937 0.2082 0.1532
1.5388 0.9193 0.6152 0.4397 0.3250 0.2439
0.3633 0.5267 0.4841 0.3959 0.3103 0.2390
-0.3633 0.1292 0.2336 0.2228 0.1845 0.1453
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 7 through 12
0 0 0 0 0 0
0.1148 0.0867 0.0657 0.0499 0.0379 0.0288
0.1844 0.1398 0.1062 0.0807 0.0613 0.0466
0.1828 0.1393 0.1060 0.0806 0.0613 0.0466
0.1121 0.0858 0.0654 0.0498 0.0379 0.0288
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 13 through 18
0 0 0 0 0 0
0.0219 0.0166 0.0127 0.0096 0.0073 0.0056
0.0354 0.0269 0.0205 0.0156 0.0118 0.0090
0.0354 0.0269 0.0205 0.0156 0.0118 0.0090
0.0219 0.0166 0.0127 0.0096 0.0073 0.0056
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Column 19
0
0.0042
0.0068
0.0068
0.0042
0.0000
>>
Solución aproximada, problema tipo, elementos finitos, n = 19
>> [Usol] = MEF_calor_GALERKIN_1D(1,0.5,1,19,39)
163
Usol =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.3780 0.2831 0.2168 0.1697 0.1357
0.9848 0.7242 0.5442 0.4182 0.3285 0.2635
1.3660 1.0104 0.7639 0.5907 0.4667 0.3762
1.6276 1.2146 0.9268 0.7231 0.5762 0.4681
1.7509 1.3237 1.0233 0.8085 0.6517 0.5349
1.7321 1.3342 1.0505 0.8442 0.6910 0.5747
1.5825 1.2530 1.0122 0.8323 0.6949 0.5876
1.3268 1.0957 0.9181 0.7787 0.6669 0.5756
1.0000 0.8848 0.7829 0.6927 0.6129 0.5423
0.6428 0.6470 0.6239 0.5857 0.5403 0.4926
0.2969 0.4099 0.4592 0.4696 0.4570 0.4316
0.0000 0.1983 0.3055 0.3556 0.3706 0.3646
-0.2188 0.0319 0.1761 0.2528 0.2873 0.2959
-0.3420 -0.0771 0.0796 0.1674 0.2118 0.2291
-0.3660 -0.1256 0.0189 0.1020 0.1462 0.1661
-0.3008 -0.1189 -0.0087 0.0556 0.0907 0.1075
-0.1684 -0.0707 -0.0112 0.0238 0.0431 0.0527
-0.0000 0 0 0 0 0
Columns 7 through 12
0 0 0 0 0 0
0.1105 0.0916 0.0769 0.0654 0.0561 0.0485
0.2153 0.1788 0.1505 0.1281 0.1100 0.0952
0.3088 0.2575 0.2175 0.1856 0.1598 0.1385
0.3868 0.3243 0.2752 0.2358 0.2035 0.1768
0.4459 0.3766 0.3215 0.2767 0.2398 0.2088
0.4845 0.4129 0.3550 0.3073 0.2674 0.2337
0.5020 0.4325 0.3750 0.3268 0.2858 0.2507
0.4998 0.4360 0.3816 0.3350 0.2947 0.2596
0.4798 0.4246 0.3756 0.3324 0.2941 0.2602
164
0.4453 0.4003 0.3582 0.3196 0.2846 0.2530
0.3997 0.3654 0.3310 0.2979 0.2669 0.2383
0.3466 0.3225 0.2957 0.2684 0.2419 0.2170
0.2892 0.2738 0.2541 0.2325 0.2108 0.1898
0.2301 0.2215 0.2077 0.1915 0.1745 0.1577
0.1710 0.1671 0.1582 0.1467 0.1343 0.1217
0.1130 0.1117 0.1065 0.0992 0.0911 0.0828
0.0561 0.0559 0.0535 0.0500 0.0460 0.0419
0 0 0 0 0 0
Columns 13 through 18
0 0 0 0 0 0
0.0421 0.0368 0.0322 0.0283 0.0249 0.0219
0.0828 0.0723 0.0634 0.0557 0.0490 0.0432
0.1206 0.1055 0.0925 0.0813 0.0716 0.0631
0.1542 0.1350 0.1185 0.1043 0.0919 0.0810
0.1826 0.1601 0.1408 0.1239 0.1093 0.0964
0.2049 0.1800 0.1585 0.1397 0.1232 0.1088
0.2204 0.1941 0.1711 0.1510 0.1334 0.1178
0.2289 0.2020 0.1784 0.1577 0.1394 0.1232
0.2302 0.2037 0.1802 0.1595 0.1411 0.1249
0.2246 0.1992 0.1766 0.1564 0.1386 0.1227
0.2123 0.1888 0.1676 0.1487 0.1318 0.1168
0.1939 0.1728 0.1537 0.1366 0.1212 0.1075
0.1701 0.1520 0.1354 0.1204 0.1069 0.0949
0.1418 0.1269 0.1132 0.1008 0.0895 0.0795
0.1096 0.0983 0.0878 0.0782 0.0695 0.0618
0.0747 0.0670 0.0599 0.0534 0.0475 0.0422
0.0378 0.0340 0.0304 0.0271 0.0241 0.0214
0 0 0 0 0 0
Columns 19 through 24
0 0 0 0 0 0
0.0194 0.0171 0.0151 0.0133 0.0118 0.0104
165
0.0381 0.0336 0.0297 0.0263 0.0232 0.0205
0.0557 0.0492 0.0434 0.0384 0.0339 0.0300
0.0715 0.0632 0.0558 0.0493 0.0436 0.0386
0.0851 0.0752 0.0665 0.0588 0.0520 0.0460
0.0961 0.0849 0.0751 0.0664 0.0587 0.0519
0.1041 0.0921 0.0814 0.0720 0.0637 0.0563
0.1090 0.0964 0.0852 0.0754 0.0667 0.0590
0.1105 0.0977 0.0865 0.0765 0.0677 0.0599
0.1086 0.0961 0.0851 0.0753 0.0666 0.0590
0.1035 0.0916 0.0811 0.0718 0.0636 0.0563
0.0952 0.0844 0.0747 0.0661 0.0586 0.0518
0.0841 0.0746 0.0660 0.0585 0.0518 0.0458
0.0705 0.0625 0.0554 0.0490 0.0434 0.0384
0.0548 0.0486 0.0431 0.0381 0.0338 0.0299
0.0375 0.0332 0.0294 0.0261 0.0231 0.0205
0.0190 0.0169 0.0149 0.0132 0.0117 0.0104
0 0 0 0 0 0
Columns 25 through 30
0 0 0 0 0 0
0.0092 0.0082 0.0072 0.0064 0.0056 0.0050
0.0182 0.0161 0.0142 0.0126 0.0111 0.0098
0.0265 0.0235 0.0208 0.0184 0.0163 0.0144
0.0341 0.0302 0.0267 0.0236 0.0209 0.0185
0.0406 0.0360 0.0318 0.0281 0.0249 0.0220
0.0459 0.0406 0.0360 0.0318 0.0281 0.0249
0.0498 0.0441 0.0390 0.0345 0.0305 0.0270
0.0522 0.0462 0.0409 0.0362 0.0320 0.0283
0.0530 0.0469 0.0415 0.0367 0.0325 0.0287
0.0522 0.0462 0.0409 0.0362 0.0320 0.0283
0.0498 0.0441 0.0390 0.0345 0.0305 0.0270
0.0459 0.0406 0.0359 0.0318 0.0281 0.0249
0.0406 0.0359 0.0318 0.0281 0.0249 0.0220
166
0.0340 0.0301 0.0267 0.0236 0.0209 0.0185
0.0265 0.0234 0.0207 0.0183 0.0162 0.0144
0.0181 0.0160 0.0142 0.0126 0.0111 0.0098
0.0092 0.0081 0.0072 0.0064 0.0056 0.0050
0 0 0 0 0 0
Columns 31 through 36
0 0 0 0 0 0
0.0044 0.0039 0.0035 0.0031 0.0027 0.0024
0.0087 0.0077 0.0068 0.0060 0.0053 0.0047
0.0127 0.0113 0.0100 0.0088 0.0078 0.0069
0.0164 0.0145 0.0128 0.0113 0.0100 0.0089
0.0195 0.0172 0.0153 0.0135 0.0119 0.0106
0.0220 0.0195 0.0172 0.0153 0.0135 0.0119
0.0239 0.0211 0.0187 0.0166 0.0146 0.0130
0.0250 0.0222 0.0196 0.0174 0.0154 0.0136
0.0254 0.0225 0.0199 0.0176 0.0156 0.0138
0.0250 0.0222 0.0196 0.0174 0.0154 0.0136
0.0239 0.0211 0.0187 0.0166 0.0146 0.0130
0.0220 0.0195 0.0172 0.0153 0.0135 0.0119
0.0195 0.0172 0.0153 0.0135 0.0119 0.0106
0.0163 0.0145 0.0128 0.0113 0.0100 0.0089
0.0127 0.0113 0.0100 0.0088 0.0078 0.0069
0.0087 0.0077 0.0068 0.0060 0.0053 0.0047
0.0044 0.0039 0.0035 0.0031 0.0027 0.0024
0 0 0 0 0 0
Columns 37 through 39
0 0 0
0.0021 0.0019 0.0017
0.0042 0.0037 0.0033
0.0061 0.0054 0.0048
0.0078 0.0069 0.0061
0.0093 0.0083 0.0073
167
0.0106 0.0094 0.0083
0.0115 0.0101 0.0090
0.0120 0.0106 0.0094
0.0122 0.0108 0.0096
0.0120 0.0106 0.0094
0.0115 0.0101 0.0090
0.0106 0.0094 0.0083
0.0093 0.0083 0.0073
0.0078 0.0069 0.0061
0.0061 0.0054 0.0048
0.0042 0.0037 0.0033
0.0021 0.0019 0.0017
0 0 0
>>
Solución aproximada, problema tipo, método Meshless
>> [Uexat U]=FBR_Meshless2_D1(1,0.5,19,39)
U =
Columns 1 through 6
0 0 0 0 0 0
0.5157 0.4392 0.3511 0.2618 0.2091 0.1662
0.9848 0.7223 0.5658 0.4299 0.3406 0.2748
1.3660 0.9699 0.7400 0.5734 0.4535 0.3702
1.6276 1.1543 0.8713 0.6829 0.5454 0.4482
1.7509 1.2569 0.9525 0.7541 0.6113 0.5066
1.7321 1.2722 0.9796 0.7871 0.6489 0.5447
1.5825 1.2042 0.9538 0.7833 0.6587 0.5618
1.3268 1.0664 0.8815 0.7467 0.6432 0.5590
1.0000 0.8784 0.7731 0.6832 0.6062 0.5384
0.6428 0.6638 0.6419 0.6005 0.5524 0.5030
0.2969 0.4472 0.5023 0.5067 0.4870 0.4559
168
-0.0000 0.2511 0.3674 0.4100 0.4151 0.4006
-0.2188 0.0931 0.2480 0.3173 0.3415 0.3401
-0.3420 -0.0160 0.1514 0.2338 0.2696 0.2770
-0.3660 -0.0732 0.0804 0.1629 0.2016 0.2133
-0.3008 -0.0843 0.0344 0.1053 0.1383 0.1504
-0.1684 -0.0614 0.0099 0.0590 0.0785 0.0893
0 0 0 0 0 0
Columns 7 through 12
0 0 0 0 0 0
0.1388 0.1154 0.0996 0.0850 0.0748 0.0648
0.2278 0.1919 0.1641 0.1419 0.1235 0.1084
0.3071 0.2604 0.2230 0.1934 0.1686 0.1481
0.3749 0.3190 0.2747 0.2386 0.2087 0.1833
0.4279 0.3661 0.3169 0.2762 0.2422 0.2131
0.4647 0.4008 0.3487 0.3053 0.2684 0.2368
0.4849 0.4220 0.3695 0.3250 0.2867 0.2535
0.4891 0.4299 0.3791 0.3351 0.2967 0.2630
0.4784 0.4251 0.3777 0.3357 0.2983 0.2650
0.4545 0.4085 0.3659 0.3269 0.2916 0.2598
0.4194 0.3815 0.3445 0.3095 0.2771 0.2476
0.3754 0.3457 0.3146 0.2842 0.2554 0.2287
0.3247 0.3026 0.2774 0.2519 0.2271 0.2039
0.2694 0.2537 0.2343 0.2137 0.1932 0.1738
0.2110 0.2005 0.1863 0.1705 0.1546 0.1393
0.1507 0.1442 0.1348 0.1235 0.1125 0.1012
0.0883 0.0867 0.0796 0.0747 0.0666 0.0615
0 0 0 0 0 0
Columns 13 through 18
0 0 0 0 0 0
0.0576 0.0503 0.0450 0.0393 0.0353 0.0309
0.0952 0.0842 0.0743 0.0659 0.0583 0.0519
0.1303 0.1151 0.1018 0.0902 0.0800 0.0710
169
0.1616 0.1428 0.1264 0.1120 0.0994 0.0882
0.1882 0.1664 0.1474 0.1307 0.1160 0.1029
0.2093 0.1853 0.1643 0.1457 0.1293 0.1148
0.2244 0.1990 0.1765 0.1566 0.1391 0.1235
0.2332 0.2070 0.1838 0.1632 0.1450 0.1288
0.2355 0.2093 0.1860 0.1653 0.1469 0.1305
0.2313 0.2058 0.1831 0.1628 0.1447 0.1286
0.2208 0.1967 0.1751 0.1558 0.1385 0.1232
0.2043 0.1822 0.1624 0.1445 0.1286 0.1144
0.1824 0.1629 0.1452 0.1294 0.1151 0.1024
0.1557 0.1392 0.1242 0.1106 0.0985 0.0876
0.1249 0.1118 0.0997 0.0890 0.0792 0.0705
0.0911 0.0813 0.0729 0.0647 0.0579 0.0513
0.0539 0.0495 0.0430 0.0396 0.0340 0.0315
0 0 0 0 0 0
Columns 19 through 24
0 0 0 0 0 0
0.0278 0.0243 0.0220 0.0192 0.0173 0.0151
0.0459 0.0409 0.0362 0.0323 0.0286 0.0255
0.0630 0.0559 0.0497 0.0441 0.0392 0.0348
0.0783 0.0695 0.0618 0.0549 0.0487 0.0433
0.0914 0.0812 0.0721 0.0641 0.0569 0.0506
0.1020 0.0906 0.0805 0.0715 0.0635 0.0564
0.1097 0.0975 0.0866 0.0769 0.0684 0.0607
0.1144 0.1017 0.0903 0.0803 0.0713 0.0634
0.1160 0.1031 0.0916 0.0814 0.0723 0.0643
0.1143 0.1016 0.0903 0.0802 0.0713 0.0634
0.1095 0.0973 0.0865 0.0769 0.0683 0.0607
0.1017 0.0904 0.0804 0.0714 0.0635 0.0564
0.0911 0.0810 0.0720 0.0640 0.0569 0.0506
0.0780 0.0693 0.0617 0.0548 0.0487 0.0433
0.0627 0.0558 0.0495 0.0441 0.0391 0.0349
170
0.0459 0.0406 0.0363 0.0320 0.0287 0.0253
0.0268 0.0250 0.0211 0.0199 0.0166 0.0158
0 0 0 0 0 0
Columns 25 through 30
0 0 0 0 0 0
0.0137 0.0119 0.0108 0.0094 0.0085 0.0075
0.0225 0.0201 0.0178 0.0159 0.0140 0.0125
0.0310 0.0275 0.0245 0.0217 0.0193 0.0171
0.0385 0.0342 0.0304 0.0270 0.0240 0.0213
0.0449 0.0399 0.0355 0.0315 0.0280 0.0249
0.0501 0.0446 0.0396 0.0352 0.0313 0.0278
0.0540 0.0480 0.0426 0.0379 0.0337 0.0299
0.0563 0.0500 0.0445 0.0395 0.0351 0.0312
0.0571 0.0507 0.0451 0.0401 0.0356 0.0316
0.0563 0.0500 0.0445 0.0395 0.0351 0.0312
0.0540 0.0480 0.0426 0.0379 0.0337 0.0299
0.0501 0.0445 0.0396 0.0352 0.0313 0.0278
0.0449 0.0399 0.0355 0.0315 0.0280 0.0249
0.0385 0.0342 0.0304 0.0270 0.0240 0.0213
0.0309 0.0275 0.0244 0.0218 0.0193 0.0172
0.0227 0.0200 0.0179 0.0157 0.0142 0.0124
0.0130 0.0126 0.0101 0.0101 0.0079 0.0081
0 0 0 0 0 0
Columns 31 through 36
0 0 0 0 0 0
0.0067 0.0059 0.0053 0.0047 0.0042 0.0037
0.0111 0.0099 0.0088 0.0078 0.0069 0.0062
0.0153 0.0135 0.0120 0.0107 0.0095 0.0084
0.0189 0.0168 0.0150 0.0133 0.0118 0.0105
0.0221 0.0197 0.0175 0.0155 0.0138 0.0123
0.0247 0.0219 0.0195 0.0173 0.0154 0.0137
0.0266 0.0236 0.0210 0.0186 0.0166 0.0147
171
0.0277 0.0246 0.0219 0.0195 0.0173 0.0154
0.0281 0.0250 0.0222 0.0197 0.0175 0.0156
0.0277 0.0246 0.0219 0.0195 0.0173 0.0154
0.0266 0.0236 0.0210 0.0187 0.0166 0.0147
0.0247 0.0219 0.0195 0.0173 0.0154 0.0137
0.0221 0.0197 0.0175 0.0155 0.0138 0.0123
0.0190 0.0168 0.0150 0.0133 0.0118 0.0105
0.0152 0.0136 0.0120 0.0107 0.0095 0.0085
0.0112 0.0098 0.0089 0.0077 0.0070 0.0061
0.0061 0.0065 0.0047 0.0052 0.0036 0.0042
0 0 0 0 0 0
Columns 37 through 39
0 0 0
0.0033 0.0029 0.0026
0.0055 0.0049 0.0043
0.0075 0.0067 0.0059
0.0093 0.0083 0.0074
0.0109 0.0097 0.0086
0.0122 0.0108 0.0096
0.0131 0.0116 0.0103
0.0137 0.0121 0.0108
0.0138 0.0123 0.0109
0.0137 0.0121 0.0108
0.0131 0.0116 0.0103
0.0122 0.0108 0.0096
0.0109 0.0097 0.0086
0.0093 0.0083 0.0074
0.0075 0.0067 0.0059
0.0056 0.0048 0.0044
0.0027 0.0035 0.0021
0 0 0
>>
172
Anexo A
Problema 3 bidimensional, método de diferencias finitas
Considerar el siguiente problema de calor (enfriamiento uniforme climati-
zado de una losa)
Ut = α(Uxx + Uyy), 0 < x < a, 0 < y < b, 0 < t <∞, (6.1)
en donde U = U(x, y, t). Además U(x, y, 0) = T0, para 0 ≤ x ≤ a, 0 ≤ y ≤ b, t = 0
U(x, y, t) = 0, ∀(x, y) en las fronteras0 ≤ x ≤ a, 0 ≤ y ≤ b,para a = 1, b = 1, c = 1, α = 1, T0 = 100 y n = 10.
Sea el mallado de la Figura 2.5, para la discretización de las variables es-
paciales x y y, en donde m el número de intervalos en que se divide la variable
y y n el número de intervalos de la variable x. Para la variable temporal se con-
sidera p como el espaciamiento entre sus puntos interiores; y, l el número de
intervalos en que se divide esta variable.
Tomando las ecuaciones (2.32), (2.33) y (2.34), del numeral 2.3 del Capí-
tulo 2, se procede a remplazar en la ecuación (6.1), obteniendo la ecuación
Uk+1(i, j)− Uk(i, j)
p= α
[Uk(i− 1, j)− 2Uk(i, j) + Uk(i+ 1, j)
h21
+Uk(i, j − 1)− 2Uk(i, j) + Uk(i, j + 1)
h22
]Haciendo r = pα
h21y S1 = (1− 4r), remplazando y simplificando en la expresión
anterior, se tiene
Uk+1(i, j) = r[Uk(i− 1, j) +Uk(i+ 1, j) +Uk(i, j − 1) +Uk(i, j + 1)] + S1Uk(i, j)
(6.2)
Por otra parte, la condición inicial que representa la temperatura en la superfi-
cie de la placa para t1 = 0; es decir, k = 1 es
U1(i, j) = T0, k = 1, i = 2, 3, ..., n, j = 2, 3, ...m (6.3)
Las condiciones de frontera, como datos del problema, se pueden representar
de la siguiente manera:
173
Borde superior.- Se aplica la condición
Uk(1, j) = Gsup(t(k)) = 0, k = 1, 2, ..(l+1), i = 1, j = 1, 2, ...(m+1).
(6.4)
Borde inferior.- Se aplica la condición
Uk(n+ 1, j) = Ginf(t(k)) = 0, k = 1, 2, ...(l + 1), i = (n+ 1), (6.5)
j = 1, 2, ...(m+ 1).
Borde izquierdo.- Se aplica la condición
Uk(i, 1) = Giz(t(k)) = 0, k = 1, 2, ...(l+1), i = 1, 2, ..., (n+1), j = 1.
(6.6)
Borde derecho.- Se aplica la condición
Uk(i,m+ 1) = Gde(t(k)) = 0, k = 1, 2, ...(l + 1), i = 1, 2, ..., (n+ 1),
(6.7)
j = (m+ 1).
Con la finalidad de llevar este PVF a la programación computacional, se han
introducido las variables Gsup, Ginf , Giz y Gde; que para el problema en
particular tienen el valor cero
Como se mencionó en el Capítulo 2, el método Explícito es bastante ines-
table. Se tratará por tanto, de conseguir la estabilidad; pero, a un costo compu-
tacional alto. Para esto se considera: h1 = h2, y el criterio de estabilidad del
método, dado por la ecuación (2.40) del numeral 2.3.1 del Capítulo 2
r ≤ 1
4.
Ahora, debemos realizar las siguientes consideraciones:
Los espaciamientos espaciales son h1 y h2. El espaciamiento de la variable
temporal es p. Además h1 = an, siendo n dato del problema.
Como h1 = h2, se debe cumplir
a
n=
b
m;
174
por tanto
m =nb
a.
Es necesario ahora, encontrar el espaciamiento p de la variable temporal. Para
esto, por la ecuación (2.40)
r =pα
h21≤ 1
4;
de esta última expresión
p ≤ h214α,
es decirc
l≤ h21
4α;
por tanto
l ≥ 4cα
h21.
Para este ejercicio, como parte de la programación y para conseguir la estabi-
lidad del método, se toma
l =4cα
h21.
Con las consideraciones anteriores y mediante las ecuaciones (6.2), (6.3),
(6.4), (6.5), (6.6) y (6.7), se desarrolló el siguiente programa computacional,
en Matlab.
% Resolución de la ecuación Parabólica del calor por el método
% de las diferencias finitas. PROBLEMA BIDIMENCIONAL.
% Construcción de la solución numérica de Ut=alf(Uxx+Uyy)
% en R=(x,y,t):0<=x<=a, 0<=y<=b, 0<=t<=c con:
% n,m, l es el número de subintervalos para X, Y, t
% respectivamente
% Se tiene por tanto n+1 puntos en x, m+1 puntos en y, l+1
% puntos en t, alf es la constante de la ecuación del calor
% ( constante)
% Las funciones G son para las cuatro fronteras
% (pueden ser unas G(t))
% f es la función para la condición inicial(puede ser una f(x,y))
% h1, h2 son los pasos de los puntos de las variables x, y.
175
% p1 es el paso de los puntos en la variable temporal t
function []=PROBLEMA_18_Explicito(f,Giz,Gde,Gin,Gsu,a,b,c,alf,n)
fxy=inline(f,’x’,’y’);
Gizt=inline(Giz,’t’);
Gdet=inline(Gde,’t’);
Gint=inline(Gin,’t’);
Gsut=inline(Gsu,’t’);
% c es la magnitud de la variable temporal t
% U es la matriz en la que se almacena la solución numérica.
% Se quiere para este PROBLEMA que h1=h2 y r<=1/4.
% (Para la estabilidad del método)
m=n*b/a;
% n+1 , m+1 son los números de nodos de [0, a] y [0, b]
% respectivamente
h1=a/(n); % longitud del intervalo espacial en x
h2=b/(m); % longitud del intervalo espacial en y
l=4*c*alf/(h1^2);%% Valor calculado para la estabilidad del
% método explicito
p1=c/l;
% Calculamos los vectores espaciales y temporal
x=0:h1:a;
y=0:h2:b;
t=0:p1:c;
% Calculo de los coeficientes de la fórmula
r=p1*alf/(h1^2);
S1=(1-4*r);
% Inicializamos la matriz U como hipermatrices para cada
% punto de t
Q=zeros(n+1,m+1);
for p=1:l+1
U(:,:,p)=Q;
end
176
% Condición Inicial (superficie de la placa t=0 o p=1)
for i=2:n
for j=2:m
U(i,j,1)=fxy(x(i),y(j));
end
end
% Condiciones de contorno
% Izquierda
for p=1:l+1
for i=1:n+1
U(i,1,p)=Gizt(t(p));
end
end
% Derecha
for p=1:l+1
for i=1:n+1
U(i,m+1,p)=Gdet(t(p));
end
end
% Inferior
for p=1:l+1
for j=1:m+1
U(n+1,j,p)=Gint(t(p));
end
end
% superior
for p=1:l+1
for j=1:m+1
U(1,j,p)=Gsut(t(p));
end
end
% Calculo de los incógnitas en las hipermatrices
177
for p=2:l+2
for i=2:n
for j=2:m
U(i,j,p)=r*(U(i-1,j,p-1)+U(i+1,j,p-1)+U(i,j-1,p-1)+
U(i,j+1,p-1))+S1*U(i,j,p-1);
end
end
end
disp(’los valores de r m n l son: ’)
disp([r m n l])
% Graficamos la solución en cada uno de los niveles de t
for p=1:l+2
surf(U(:,:,p))
pause(0.025)
end
% k=p=nivel temporal (para graficar solamente)
figure (1)
surf(U(:,:,1))
title(’tiempo t=0 (k=1)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=1’)
disp(U(:,:,1))
figure (2)
surf(U(:,:,10))
title(’tiempo t=0.025c (k=10)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=10’)
disp(U(:,:,10))
178
figure (3)
surf(U(:,:,20))
title(’tiempo t=0.05c (k=20)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=20’)
disp(U(:,:,20))
figure (4)
surf(U(:,:,50))
title(’tiempo t=0.12c (k=50)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=50’)
disp(U(:,:,50))
figure (5)
surf(U(:,:,100))
title(’tiempo t=0.25c (k=100)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=100’)
disp(U(:,:,100))
figure (6)
surf(U(:,:,250))
title(’tiempo t=0.62c (k=250)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=250’)
disp(U(:,:,250))
179
figure (7)
surf(U(:,:,401))
title(’tiempo t=c (k=401)’)
xlabel(’Espacio y’);
ylabel(’Espacio x’);
zlabel(’Valores de la Solución U’);
disp(’HIPERMATRIZ k=401’)
disp(U(:,:,401))
end
Es de esperar, que el costo computacional sea muy alto, ya que requiere de un
valor demasiado pequeño para p, en la discretización de la variable temporal.
Para ejecutar el programa y resolver el Problema 4, el ingreso de los datos
en Matlab, es de la forma
>> PROBLEMA_18_Explicito(’100’,’0’,’0’,’0’,’0’,1,1,1,1,10)
Los primeros resultados que se obtienen son
los valores de r m n l son:
0.2500 10.0000 10.0000 400.0000
Como l = 400 es el número de intervalos de la discretización de la variable
temporal, entonces se tienen un total de 401 puntos, en esta variable; gene-
rándose 401 matrices de la solución aproximada U , en los distintos niveles de
la variable temporal, con sus representaciones gráficas correspondientes. De
estas, se presentan, a continuación, algunas matrices solución para un nivel k
determinado, k = 1, 2, ..., 401.
HIPERMATRIZ k=1
0 0 0 0 0 0 0 0 0 0 0
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
180
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
0 100 100 100 100 100 100 100 100 100 0
0 0 0 0 0 0 0 0 0 0 0
La gráfica de la solución aproximada del problema en estudio, para k = 1; es
decir, t = 0 se representa en la Figura 6.1.
Figura 6.1: Solución aproximada. Problema 3, hipermatriz k = 1.
HIPERMATRIZ k=10
Columns 1 through 6
0 0 0 0 0 0
0 12.1117 22.2015 28.8963 32.5871 33.6170
0 22.2015 40.3595 52.8049 59.2422 61.3022
0 28.8963 52.8049 68.6836 77.2381 79.6986
0 32.5871 59.2422 77.2381 86.5936 89.4547
0 33.6170 61.3022 79.6986 89.4547 92.3157
0 32.5871 59.2422 77.2381 86.5936 89.4547
0 28.8963 52.8049 68.6836 77.2381 79.6986
0 22.2015 40.3595 52.8049 59.2422 61.3022
181
0 12.1117 22.2015 28.8963 32.5871 33.6170
0 0 0 0 0 0
Columns 7 through 11
0 0 0 0 0
32.5871 28.8963 22.2015 12.1117 0
59.2422 52.8049 40.3595 22.2015 0
77.2381 68.6836 52.8049 28.8963 0
86.5936 77.2381 59.2422 32.5871 0
89.4547 79.6986 61.3022 33.6170 0
86.5936 77.2381 59.2422 32.5871 0
77.2381 68.6836 52.8049 28.8963 0
59.2422 52.8049 40.3595 22.2015 0
32.5871 28.8963 22.2015 12.1117 0
0 0 0 0 0
La gráfica de la solución aproximada del problema en estudio, para k = 10; es
decir, t = 9/400, se representa en la Figura 6.2.
Figura 6.2: Solución aproximada. Problema 3, hipermatriz k = 10.
182
HIPERMATRIZ k=20
Columns 1 through 6
0 0 0 0 0 0
0 6.0343 11.4337 15.6080 18.2737 19.1474
0 11.4337 21.5976 29.5681 34.5215 36.2688
0 15.6080 29.5681 40.3666 47.2519 49.5172
0 18.2737 34.5215 47.2519 55.1732 57.9565
0 19.1474 36.2688 49.5172 57.9565 60.7398
0 18.2737 34.5215 47.2519 55.1732 57.9565
0 15.6080 29.5681 40.3666 47.2519 49.5172
0 11.4337 21.5976 29.5681 34.5215 36.2688
0 6.0343 11.4337 15.6080 18.2737 19.1474
0 0 0 0 0 0
Columns 7 through 11
0 0 0 0 0
18.2737 15.6080 11.4337 6.0343 0
34.5215 29.5681 21.5976 11.4337 0
47.2519 40.3666 29.5681 15.6080 0
55.1732 47.2519 34.5215 18.2737 0
57.9565 49.5172 36.2688 19.1474 0
55.1732 47.2519 34.5215 18.2737 0
47.2519 40.3666 29.5681 15.6080 0
34.5215 29.5681 21.5976 11.4337 0
18.2737 15.6080 11.4337 6.0343 0
0 0 0 0 0
La gráfica de la solución aproximada del problema en estudio, para k = 20; es
decir, t = 19/400, se representa en la Figura 6.3.
183
Figura 6.3: Solución aproximada. Problema 3, hipermatriz k = 20
HIPERMATRIZ k=50
Columns 1 through 6
0 0 0 0 0 0
0 1.3015 2.4788 3.4074 4.0107 4.2117
0 2.4788 4.7089 6.4894 7.6190 8.0212
0 3.4074 6.4894 8.9205 10.4998 11.0262
0 4.0107 7.6190 10.4998 12.3276 12.9783
0 4.2117 8.0212 11.0262 12.9783 13.6290
0 4.0107 7.6190 10.4998 12.3276 12.9783
0 3.4074 6.4894 8.9205 10.4998 11.0262
0 2.4788 4.7089 6.4894 7.6190 8.0212
0 1.3015 2.4788 3.4074 4.0107 4.2117
0 0 0 0 0 0
Columns 7 through 11
0 0 0 0 0
4.0107 3.4074 2.4788 1.3015 0
184
7.6190 6.4894 4.7089 2.4788 0
10.4998 8.9205 6.4894 3.4074 0
12.3276 10.4998 7.6190 4.0107 0
12.9783 11.0262 8.0212 4.2117 0
12.3276 10.4998 7.6190 4.0107 0
10.4998 8.9205 6.4894 3.4074 0
7.6190 6.4894 4.7089 2.4788 0
4.0107 3.4074 2.4788 1.3015 0
0 0 0 0 0
La gráfica de la solución aproximada del problema en estudio, para k = 50; es
decir, t = 49/400, se representa en la Figura 6.4.
Figura 6.4: Solución aproximada. Problema 3, hipermatriz k = 50.
HIPERMATRIZ k=100
Columns 1 through 6
0 0 0 0 0 0
0 0.1059 0.2016 0.2772 0.3262 0.3426
0 0.2016 0.3830 0.5279 0.6197 0.6525
0 0.2772 0.5279 0.7256 0.8541 0.8969
185
0 0.3262 0.6197 0.8541 1.0028 1.0557
0 0.3426 0.6525 0.8969 1.0557 1.1086
0 0.3262 0.6197 0.8541 1.0028 1.0557
0 0.2772 0.5279 0.7256 0.8541 0.8969
0 0.2016 0.3830 0.5279 0.6197 0.6525
0 0.1059 0.2016 0.2772 0.3262 0.3426
0 0 0 0 0 0
Columns 7 through 11
0 0 0 0 0
0.3262 0.2772 0.2016 0.1059 0
0.6197 0.5279 0.3830 0.2016 0
0.8541 0.7256 0.5279 0.2772 0
1.0028 0.8541 0.6197 0.3262 0
1.0557 0.8969 0.6525 0.3426 0
1.0028 0.8541 0.6197 0.3262 0
0.8541 0.7256 0.5279 0.2772 0
0.6197 0.5279 0.3830 0.2016 0
0.3262 0.2772 0.2016 0.1059 0
0 0 0 0 0
La gráfica de la solución aproximada del problema en estudio, para k = 100;
es decir, t = 99/400, se representa en la Figura 6.5.
Figura 6.5: Solución aproximada. Problema 3, hipermatriz k = 100.
186
HIPERMATRIZ k=250
1.0e-003 *
Columns 1 through 6
0 0 0 0 0 0
0 0.0570 0.1085 0.1492 0.1756 0.1844
0 0.1085 0.2061 0.2841 0.3336 0.3512
0 0.1492 0.2841 0.3905 0.4597 0.4827
0 0.1756 0.3336 0.4597 0.5397 0.5682
0 0.1844 0.3512 0.4827 0.5682 0.5967
0 0.1756 0.3336 0.4597 0.5397 0.5682
0 0.1492 0.2841 0.3905 0.4597 0.4827
0 0.1085 0.2061 0.2841 0.3336 0.3512
0 0.0570 0.1085 0.1492 0.1756 0.1844
0 0 0 0 0 0
Columns 7 through 11
0 0 0 0 0
0.1756 0.1492 0.1085 0.0570 0
0.3336 0.2841 0.2061 0.1085 0
0.4597 0.3905 0.2841 0.1492 0
0.5397 0.4597 0.3336 0.1756 0
0.5682 0.4827 0.3512 0.1844 0
0.5397 0.4597 0.3336 0.1756 0
0.4597 0.3905 0.2841 0.1492 0
0.3336 0.2841 0.2061 0.1085 0
0.1756 0.1492 0.1085 0.0570 0
0 0 0 0 0
La gráfica de la solución aproximada del problema en estudio, para k = 250;
es decir, t = 249/400, se representa en la Figura 6.6.
187
Figura 6.6: Solución aproximada. Problema 3, hipermatriz k = 250.
HIPERMATRIZ k=401
1.0e-006 *
Columns 1 through 6
0 0 0 0 0 0
0 0.0292 0.0555 0.0765 0.0898 0.0945
0 0.0555 0.1057 0.1452 0.1709 0.1795
0 0.0765 0.1452 0.2001 0.2350 0.2474
0 0.0898 0.1709 0.2350 0.2766 0.2905
0 0.0945 0.1795 0.2474 0.2905 0.3058
0 0.0898 0.1709 0.2350 0.2766 0.2905
0 0.0765 0.1452 0.2001 0.2350 0.2474
0 0.0555 0.1057 0.1452 0.1709 0.1795
0 0.0292 0.0555 0.0765 0.0898 0.0945
0 0 0 0 0 0
Columns 7 through 11
0 0 0 0 0
0.0898 0.0765 0.0555 0.0292 0
0.1709 0.1452 0.1057 0.0555 0
188
0.2350 0.2001 0.1452 0.0765 0
0.2766 0.2350 0.1709 0.0898 0
0.2905 0.2474 0.1795 0.0945 0
0.2766 0.2350 0.1709 0.0898 0
0.2350 0.2001 0.1452 0.0765 0
0.1709 0.1452 0.1057 0.0555 0
0.0898 0.0765 0.0555 0.0292 0
0 0 0 0 0
>>
La gráfica de la solución aproximada del problema en estudio para k = 401; es
decir, t = c = 1 se representa en la Figura 6.7.
Figura 6.7: Solución aproximada. Problema 3, hipermatriz k = 401.
Se puede concluir que con el paso del tiempo el calor en la loza tiende a
decrecer, tomando la solución U(x, t) valores muy cercanos a 0.
Bibliografía
[1] Mathews, J., Fink, K.(2000). Métodos Numéricos con Matlab, Madrid,
Prentice Hall, Tercera Edición.
[2] Consejo de Educación Superior, Reglamento de Régimen Académico,
[3] Sánchez, J., Souto, A.(2005). Problemas de Cálculo Numérico para in-
genieros con aplicaciones Matlab, España, Closas - Orcoyen, Primera
Edición.
[4] Haberman,R.(2003). Ecuaciones en Derivadas Parciales con Series de
Fourier y Problemas de Contorno, Madrid, España, Pearson Educación
S.A., Tercera Edición.
[5] Boyce, W., DiPrima, R.(1987). Ecuaciones diferenciales y problemas con
valores en la frontera, México, Editorial Limusa, Tercera Edición.
[6] Stanoyevitch,A.(2005). Introduction to numerical ordinary and partial dif-
ferential equations using Matlab, United States of America, Wiley & Sons.
[7] Hernández, R., Fernández, C, Baptista, P. (1997).Metodología de la In-
vestigación, México, McGRAW - HILL.
[8] Alexander Stanoyevitch.(2005). Introduction to Numerical Ordinary and
Partial Differential Equations using Matlab, Hoboken,New Jersey, Publis-
hed by Wiley & Sons, Inv.
[9] Joe D. Hoffman.(2001). Numerical Methods for Engineers and Scientists,
Printed in the United States of America, CRC Press is an imprint of Taylor
& Francis Group, Second Edition.
189
190
[10] Eugenio Oñate & Francisco Zárate.(2001). Introducción al Método de los
Elementos Finitos, Apuntes Versión a distancia, XII Curso de Máster en
Métodos Numéricos para cálculo y diseño en Ingeniería.
[11] Carlos Lazaro Naranjo.(1999). Aplicaciones del método de elementos fini-
tos a problemas de termofluidos, tesis de Maestro, Universidad Autónoma
de Nuevo León, San Nicolás de los Garza, N.L.
[12] L. Evans, (1998). Partial Differential Equations, American Mathematical
Society.
[13] M.Zerroukat, K. Djidjeli and A. Charafi, (2000), Explicit and implicit mesh-
less methods for linear advection - diffusion - type partial differential equa-
tions. INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN EN-
GINEERING. Int. J. Numer. Meth. Engng. 2000; 48:19-35. Copyright 2000
John Wiley & Sons, Ltd.
[14] Félix Movilla, Gail Gutierrez y Jorge Guíñez, (2010), Soluciones de las
ecuaciones de Navier - Stokes usando Colocación de Funciones de Ba-
se Radial. Mecánica Computacional Vol XXIX, págs. 3711-3719 (artículo
completo). Buenos Aires, Argentina.
[15] Mayorga, J. (2014). Matemática Superior para Ingeniería. Preimpresión.
191
Webgrafía[16] Métodos Numéricos de resolución de Ecuaciones en derivadas Parciales
En línea http://www.uam.es/personal_pdi./ciencias/ezuazua/informeweb
/notas-05_065_pdf. Consultado 7 abril 2014.
[17] Ondas Electromagnéticas
En línea http://www.fis.utfsm.cl/fis140/TEXTO1_ondas_electromagnéti-
cas.pdf. Consultado 7 abril 2014.
[18] Cuántica y relatividad TOES’s
En línea http://www.ehu.es/zorrilla/juanma/Cuantica_relatividad.pdf
Consultado 8 abril 2014
[19] Uso de modelos matemáticos para la descripción del crecimiento de tu-
mores cancerosos.
En línea http://www.unicolmayor.edu.co/invest_nova/NOVA/NOVA14_AR-
TORIG2.pdf. Consultado 8 abril 2014.
[20] Tesis de Maestría en TECNOLOGÍA DE ALIMENTOS.
En línea http://posgrado.frba.utn.edu.ar/investigación/tesis/MTA-2010-
Rocca.pdf
Consultado 8 abril 2014
[21] Jonathan David Galeano Vargas, (2013),Solución numérica de ecuacio-
nes diferenciales parciales parabólicas
En línea http://arxiv.org/pdf/1401.7619.pdf,
Universidad Nacional de Colombia. Bogotá, Colombia.
[22] J. Antonio Muñoz-Gómez, Pedro González-Casanova, Gustavo
Rodriguez-Gómez, (2005), Métodos Libres de Malla para Ecuacio-
nes Evolutivas. Reporte Técnico N CCC-05-001.
En línea http://ccc.inaoep.mx/Reportes/CC-05-001.pdf
Sta. Ma. Tonantzintla. 72840, Puebla, México.
192
[23] Gail Gutierrez R., W. F. Florez, M. Kindelan, F. Movilla, J. Valencia, (2009),
Método de Colocación Simétrico RBF para la solución Numérica de la
Ecuación de Difusión en Estado Transiente. Revista Colombiana de Físi-
ca, Vol. 41, N 3.
En línea http://scala.uc3m.es/ kindelan/Documents/rev_col_fis.pdf
[24] Carlos A. Bustamante, Whady F. Flórez, Mauricio Giraldo y Henry Power,
(2009), Solución de problemas de Conducción y Convección de Calor
mediante el Método CV-RBF. Mecánica Computacional Vol XXVIII, págs.
1097-1118 (artículo completo). Buenos Aires, Argentina.
En línea http://www.cimec.org.ar/ojs/index.php/mc/article/view
File/2795/2735
[25] WIKIPEDIA La enciclopedia libre, (2009), RNA de base radial.
Licencia Creative Commons Atribución Compartir Igual 3.0.
En línea http://es.wikipedia.org/wiki/RNA_de_base_radial.
[26] Peral Walias Irene. (2004-2005). PDE-toolbox de Matlab.
En línea http://laboratorio2.fisica.edu.uy/pdetoolbox.pdf.
Ecuaciones en derivadas parciales I: Matlab PDE toolbox.
En línea http://laboratorio2.fisica.edu.uy/pde_resolucion.pdf. Cursos.