|
Matlab: modelización y simulación numérica
con el ordenador |
|---|
Es indigno de hombres extraordinarios perder horas
como esclavos en tareas de cálculo que podrían relegarse
con confianza a cualquier otra persona si [para esta tarea]
se usaran máquinas.
Gottfried
Leibnizt
Introducción
Esta sección está dedicada a la asignatura de libre elección del mismo nombre. A nivel básico nos dedicamos a aprender Matlab mientras vemos un poco de Análisis Numérico, todo en un nivel muy sencillo. Mi objetivo es no sólo que se aprenda a manejar Matlab con cierta soltura sino que se obtenga una impresión sobre el mundo del Cálculo Científico y de la implementacion en un ordenador de algoritmos numéricos. Las clases son siempre con ordenador bajo la firme convicción de que a programar se aprende programando
En la organización de esta asignatura he contado con la ayuda inestimable de la profesora María Luisa Rapún. Decidimos que era muy apropiado proporcionar unos apuntes de la asignatura para que los conocimientos queden así plasmados en un texto que pueda servir de consulta en futuros trabajos.
Estos apuntes han sido el germen del libro Matlab en cinco lecciones de Numérico que se encuentra disponible en las prensas universitarias de la Universidad Pública de Navarra (más información del libro aquí, donde puedes encontrar más material auxiliar e información de cómo comprarlo).
Dejamos online, a libre disposición para su
consulta y su uso en el siguiente enlace
|
|
Matlab en cinco lecciones de Numérico (versión beta de 16 de Febrero de 2006) |
Es una versión preeliminar del libro. Algunas secciones han sido levemente modificados y hemos corregidos algunos errores y erratas. De todas formas, si detectas algo que no esté bien, que sea mejorable o simplemente quieres dejarnos algún comentario, lo puedes hacer aquí
Organización y novedades del curso 2008-2009. Algunos comentarios
Este año tenemos
algunas novedades. La primera es que la asignatura la daremos entre dos
profesores, la profesora Ester Pérez Sinusía
(1) y yo mismo (Víctor Domínguez).
Trataremos de dar un giro y contrarnos en otros aspectos más "vistosos", como
por ejemplo las salidas gráficas o la creación de guis, (graphic
user interfaces) en Matlab.
El nivel del curso es bajo y alto. Bajo, en cuanto a que los niveles que exigiremos para aprobar no son en modo alguno desmesurados. Alto, en el sentido de que si te lo tomas con interés, y tienes ganas de aprendes puedes finalizar el curso con un conocimiento considerable de
Cómo programar en Matlab: programación vectorizada versus programación tradicional.
Soltura en el entorno
Aprenderás a depurar código (mayor eficiencia de tus programas)
A realizar presentaciones gráficas (ideal si tienes que presentar trabajos o proyectos)
Repasarás nociones muy básicas de Análisis Numérico y verás alguna de sus aplicaciones.
Y sobre todas ellas tendrás la suficiente familiaridad de, para cuando te sea necesario, saber dónde recurrir para profundizar en aquéllos aspectos que se presenten. Todo ello bajo la premisa de que en ocasiones la mayor dificultad está en no saber cómo se hace algo sino en saber que se puede hacer.
En cualquier caso si deseas matricularte, te doy la bienvenida.
(1) La profesora Ester Pérez ha dejado la Universidad. producto de su marcha, yo mismo (Víctor) daré la asignatura entera.
Calendario Docente
En el calendario situado abajo podrás consultar horarios y qué hemos hecho en clase
Guión de las clases
En esta sección iré colocando diferente material auxiliar para "lanzar" las clases.
13 de Octubre de 2008: Método de Gauss. Programación clásica y vectorizada.
14 de Octubre de 2008: Método de Gauss con pivotaje. Descomposiciones LU.
20 de Octubre de 2008: Selección de partes de matrices. Método de Jacobi
21 de Octubre de 2008: Métodos iterativos afines: Jacobi, Gauss-Seidel y Relajación
27 de Octubre de 2008: Jacobi, Gauss-Seidel y Relajación. GU
28 de Octubre de 2008: Métodos de descenso: gradiente y gradiente conjugado
03 de Noviembre de 2008. Gradiente conjugado. Gui con el gradiente. Tema 3: funciones como argumentos. Recursividad .
04 de Noviembre de 2008. Formulas de cuadratura básicas: punto medio, trapecio y Simpson.
10 y 11 de Noviembre de 2008. Extrapolación y fórmulas adaptativas.
17 y 18 de Noviembre de 2008. Transformada rápida de Fourier.
01 y 02 de Diciembre de 2008 (Nueva ventana). Imagen de la gui que crearemos en clase.
09 de Diciembre de 2008 Interpolación (Fórmula de Lagrange).
09 de Diciembre de 2008
Interpolación (Fórmula de Newton). Interpolación sobre triángulos (elementos
P1) ![]()
Trabajo final de la asignatura
Estoy abierto a sugerencias, propuestas y demás. De todas formas, ante la insistencia de alguno de vosotros, os adjunto una propuesta de trabajo final
Propuesta 1
Notas sobre mallas triangulares (extraído del Libro Matlab en cinco lecciones de Numérico).
Propuesta 2
La segunda propuesta consiste en la implementación de una herramienta (muy simple) de dibujo de curvas Bezier. Estas curvas son uno de los primeros ejemplos de lo que se conoce como CAD (Computer aided design).
Notas sobre las curvas Bezier (extraído del Libro Matlab en cinco lecciones de Numérico
El proceso del trabajo es la siguiente:
Programar una función que dado los vértices del polígono control, trace la curva Bezier correspondiente.
Implementar un primer interfaz gráfico (a través del código del ejercicio 11.15)
Crear una GUI que englobe a las funciones anteriores y proporcione un entorno más amigable.
El paso 1 es imprescindible. En cuanto a los pasos 2 y 3, hay cierta flexibilidad en cuánto a qué hacer y cómo hacerlo. Podemos comentarlo si necesitas cierta orientación.
La evaluación de una curva Bezier se puede hacer de una forma mucho más gráfico que de hecho es el origen de estas curvas. Si tienes interés puedes consultar la Wikipedia.
El uso de las curvas Bezier ha sido desplazado por el de una serie de curvas más generales (que incluyen a éstas como caso límite) llamadas curvas B-Spline.
Estos son los trabajos recibidos y la nota que tienen. Si no estás en la lista, ponte en contacto conmigo.
|
|