PR ÁCTICAS DE C ÁLCULO
NUMÉRICO CON MAXIMA
Antonio Vigueras Campuzano
Departamento de Matemática Aplicada y Estadística
Escuela Técnica Superior de Ingeniería Industrial
UNIVERSIDAD POLITÉCNICA DE CARTAGENA
PRÁCTICAS DE CÁLCULO
NUMÉRICO CON MAXIMA
Antonio Vigueras Campuzano
© 2016, Antonio Vigueras Campuzano
© 2016, Universidad Politécnica de Cartagena
CRAI Biblioteca
Plaza del Hospital, 1
30202 Cartagena
968325908
[email protected]
Primera edición, 2016
ISBN: 978-84-608-7868-1
Imagen de la cubierta: Representación gráfica con Maxima
Esta obra está bajo una licencia de Reconocimiento-NO comercial-Sin Obra
Derivada (by-nc-nd): no se permite el uso comercial de la obra original ni la
generación de obras derivadas.
http://creativecommons.org/licenses/by-nc-nd/4.0/
Índice general
Prólogo
VII
1. Introducción a Maxima: Parte I
1.2. Constantes, funciones, asignaciones, condicionales y bucles
1
1
1.1. ¿Qué es Maxima?. Operaciones aritméticas . . . . . . . . . . .
6
1.1.1. Ayuda en línea, ejemplos y demos . . . . . . . . . . . .
7
. .
7
1.2.1. Constantes matemáticas . . . . . . . . . . . . . . . . .
7
1.2.2. Funciones matemáticas elementales . . . . . . . . . . .
8
1.2.3. Funciones relativas al cálculo con números naturales . .
9
1.2.4. Funciones relativas al cálculo con números complejos
.
. . . . . . . . . . . . . . . . . . . . 10
1.2.5. Operadores lógicos
1.2.6. Definición de nuevas funciones . . . . . . . . . . . . . . 11
1.2.7. Asignaciones . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.8. Asumir algo y olvidarse de ello
. . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.9. Bloques
1.3. Programación con Maxima: Condicionales y bucles
. . . . . . 18
1.4. Variables opcionales y funciones útiles para la programación . 28
1.5. Aritmética exacta versus aritmética de redondeo . . . . . . . . 29
1.6. Épsilon de máquina . . . . . . . . . . . . . . . . . . . . . . . . 32
1.7. Programas para el método de bipartición . . . . . . . . . . . . 34
1.8. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 37
2. Introducción a Maxima: Parte II
39
2.1. Álgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.1. Listas
2.1.2. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.1.3. Expresiones algebraicas . . . . . . . . . . . . . . . . . . 49
2.1.4. Ecuaciones y sistemas
. . . . . . . . . . . . . . . . . . 50
2.2. Cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2.1. Límites . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2.2. Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . 54
iii
iv
ÍNDICE GENERAL
2.2.3. Cálculo integral . . . . . . . . . . . . . . . . . . . . . . 58
2.2.4. Ecuaciones diferenciales
. . . . . . . . . . . . . . . . . 60
2.3. Gráficas de funciones . . . . . . . . . . . . . . . . . . . . . . . 61
2.3.1. Funciones en 2-D . . . . . . . . . . . . . . . . . . . . . 61
2.3.2. Funciones en 3-D . . . . . . . . . . . . . . . . . . . . . 69
2.3.3. Gráficas con draw . . . . . . . . . . . . . . . . . . . . . 72
2.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 80
3. Resolución numérica de ecuaciones no lineales
83
3.1. Más sobre los comandos generales de Maxima para resolver
3.2.1. El comando “find root”
una ecuación o sistema algebraico . . . . . . . . . . . . . . . . 83
3.1.1. El comando “solve” . . . . . . . . . . . . . . . . . . . . 83
3.1.2. El comando “algsys” . . . . . . . . . . . . . . . . . . . 87
3.1.3. Los comandos “allroots” y “realroots” . . . . . . . . . 88
3.2. A vueltas con el método de bipartición . . . . . . . . . . . . . 89
. . . . . . . . . . . . . . . . . 92
3.3. Método de Lagrange (o “regula falsi”)
. . . . . . . . . . . . . 92
3.4. Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . 94
3.4.1. Método de Newton-Raphson en una variable . . . . . . 94
3.4.2. Funciones para el método de Newton-Raphson . . . . . 98
3.4.3. Método de Newton-Raphson en varias variables
. . . . 99
3.5. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 102
4. Resolución numérica de sistemas lineales
Introducción
4.1.
4.2. Métodos de factorización. Normas matriciales.
105
. . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . 113
4.2.1. Factorización LU . . . . . . . . . . . . . . . . . . . . . 113
4.2.2. Factorización de Cholesky . . . . . . . . . . . . . . . . 115
4.2.3. Normas vectoriales y matriciales. Número de condición
de una matriz . . . . . . . . . . . . . . . . . . . . . . . 116
4.3. Métodos iterativos de Jacobi y Gauss-Seidel. . . . . . . . . . . 121
4.3.1. Método de Jacobi . . . . . . . . . . . . . . . . . . . . . 121
4.3.2. Método de Gauss-Seidel
. . . . . . . . . . . . . . . . . 123
4.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 125
5. Interpolación, derivación e integración numérica. Mejor apro-
ximación por mínimos cuadrados
5.1.
127
Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.1.1. Cálculo directo del polinomio de interpolación . . . . . 127
. . . . . . . . . . . . . . . . . . 128
5.1.2. Fórmula de Lagrange
5.1.3. Fórmula de Newton en diferencias divididas
. . . . . . 128
ÍNDICE GENERAL
v
5.1.4. Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.1.5. Splines Naturales . . . . . . . . . . . . . . . . . . . . . 132
5.1.6. El paquete “interpol” . . . . . . . . . . . . . . . . . . . 135
5.1.7. Problemas mixtos de interpolación . . . . . . . . . . . 135
5.2. Fórmulas de derivación numérica de tipo interpolatorio . . . . 135
5.3. Fórmulas de integración numérica de tipo interpolatorio . . . . 137
5.3.1. Fórmula del trapecio compuesta . . . . . . . . . . . . . 137
. . . . . . . . . . . . . . 140
5.3.2. Regla de Simpson compuesta
5.4. Mejor aproximación por mínimos cuadrados continua o discreta143
5.5. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 145
6. Métodos numéricos para PVI de EDOs
147
. . . . . . . . . . . . . . . . . . . . . . . . . 147
6.1. Método de Euler
. . . . . . . . . . . . . . . . . . . . . . . . 161
6.2. Métodos de Taylor
6.3. Métodos Runge-Kutta para EDOs . . . . . . . . . . . . . . . . 164
. . . . . . . . . . . . . . . . 164
6.3.1. Métodos RK(3) explícitos
6.3.2. Método RK(4)“clásico” y aplicaciones
. . . . . . . . . 167
6.3.3. El paquete diffeq y el comando rk . . . . . . . . . . . . 170
6.3.4. Aplicación del RK(4) “clásico” al problema de dos cuer-
pos plano . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 178
Bibliografía
179
Prólogo
La asignatura Cálculo Numérico se plantea como una introdución al es-
tudio de los métodos numéricos. En el caso del Grado en Ingeniería en Tec-
nologías Industriales de la Universidad Politécnica de Cartagena, se estudia
en el primer cuatrimestre del tercer curso. Se trata de una asignatura de 6
ECTS, cuyo objetivo es que el alumno conozca y sepa aplicar los métodos
numéricos básicos en situaciones concretas propias de su titulación, así como
capacitarle para que pueda preparar y manejar algoritmos y programas de
cálculo para la resolución de problemas prácticos, a la vez que comprenda
las posibilidades y limitaciones de las técnicas numéricas utilizadas.
Dentro de las actividades presenciales de la asignatura, está prevista la
realización de seis sesiones prácticas, de dos horas de duración cada una en
el aula de informática, trabajando con el software libre Maxima, bajo la
interface gráfica wxMaxima, los estudiantes pueden disponer libremente de
este software en http:maxima.souerceforge.net/es/. Para la realización de los
programas contenidos en este manual hemos utilizado, concretamente, las
versiones 5.28.0-2 de Maxima y 12.04.0 de wxMaxima. En estas sesiones,
realizamos algoritmos y programas propios para los métodos fundamentales
desarrollados, utilizando dicho software. Con esta finalidad hemos preparado
este manual. En estas prácticas se persiguen los tres objetivos fundamentales
siguientes:
Saber realizar, utilizar y depurar programas de algoritmos diseñados
en la parte teórica de la asignatura.
Estudiar el comportamiento numérico de los códigos programados.
Dotar al alumno de criterios para seleccionar un algoritmo para un
problema concreto.
Se proponen las sesiones prácticas, de dos horas de duración cada una, si-
guientes:
1. Introducción al entorno wxMaxima: primera parte.
vii
viii
Capítulo 0. Prólogo
2. Introducción al entorno wxMaxima: segunda parte.
3. Resolución de ecuaciones y sistemas no lineales.
4. Métodos directos e iterativos de resolución de sistemas lineales.
5. Interpolación. Derivación e integración numérica.
6. Métodos numéricos de integración de PVI para EDO’s.
Cada una de las cuales va seguida de una serie de ejercicios propuestos,
que esperamos que el alumno intente resolver por si mismo antes de ver las
soluciones que le aportaremos.
En cuanto a la bibliografía de prácticas de Cálculo Numérico con Maxima,
que no es muy abundante, he consignado tan sólo la realmente utilizada para
preparar este manual y que se cita al final del mismo, espero que su consulta
pueda servir al alumno para profundizar más en los temas tratados así como
para abordar algunos de los trabajos que se le puedan proponer a lo largo del
curso, cabe destacar el manual oficial de Maxima, la ayuda en línea de dicho
programa, así como el texto [10], en el que se desarrollan sobradamente todos
los contenidos teóricos abordados en estas prácticas y que puede consultarse,
si hubiera dudas en alguno de los métodos utilizados en estas prácticas.
Considero que este manual de prácticas puede ser útil para estu
Comentarios de: Capítulo 1 - Introducción a Maxima: Parte I (0)
No hay comentarios