Análisis numérico I
Análisis numérico I - 22962
Profesor
Carlos Jaime Barrios Hernandez, PhD. - (cbarrios@uis.edu.co)
PRESENTACION
Este curso es una continuación del curso de Analisis Numérico dictado por el profesor Alfonso Mendoza Castellanos.
Contenido
- Error y Algoritmos Iterativos
- Raices de Ecuaciones
- Solucion de Sistemas Lineales
- Aproximacion
- Interpolacion
- Diferenciacion
- Integracion
ASPECTOS METODOLOGICOS
- Curso Téorico Práctico
- Evaluaciones
- Lecturas Sugeridas
- Sesiones Prácticas
MATERIAL DEL CURSO
- Métodos Numéricos
- Ejemplo del Método de Bairstow
- Jacobi y Ejercicio de Clase
- Aplicaciones Varias Analisis Numérico
- Integracion Numérica, Primeros Métodos
- Diferenciación e Integración
- Interpolaciones
- Ecuaciones Diferenciales (Euler y Runge Kutta)(Codigo de Prueba: Archivo:Diff.c )
- Complejidad
- Técnicas de programación
- Lenguajes Interpretados
EVALUACIONES
Evaluación 1
Evaluación 2
Trabajo Final
- Grupos de Tres participantes (Mínimo dos, pero ninguno individual).
- Solución de la propuesta (Prototipo o Demo)
- Presentación de 15 minutos
- Articulo (Máximo 6 paginas)
BIBLIOGRAFÍA Y FUENTES DE INFORMACION
SESIONES PRÁCTICAS
-
Conociendo la Plataforma
En esta sesión, se explorara la plataforma. Primero debe descargarse el cliente ssh en el enlace que se encuentra al final de esta explicación. Posteriormente, interactuando con el wiki, se iniciará visitando los enlaces: Carta de uso e Inicio de usuarios, siguiendo los pasos que alli se presentan. Finalmente, se deberá navegar por el Portal de Usuarios y explorar las posibilidades que allí se presentan.
Clientes ssh
-
Primeras Implementaciones
En esta sesion, se desarrollaran algunas implementaciones de los métodos numéricos vistos en clase, para resolver algunos problemas especificos Taller
-
Gauss Seidel Vs. Jacobi
En esta sesion se observaran las diferencias entre Gauss Seidel y Jacobi. Si bien, cada uno se puede usar para resolver sistemas de ecuaciones lineales, cada uno tiene sus particularidades. Al resolver el problema dejado en clase por Jacobi y por Gauss Seidel, que observan? Que es lo interesante en diferencia de los resultados obtenidos y del método?
-
Analizando problemas reales y planteando soluciones
Teniendo en cuenta los ejercicios tratados en la clase pasada, realizados por estudiantes de ingenieria quimica, implemente y plantée la solucion que se consideré pertinente o la misma que dieron los estudiantes de ingenieria quimica, pero observando
- Eficiencia Computacional medida: Si es en Linux, usando el comando htop o top para medir el uso de los recursos.
- Factibilidad y Optimidad: La Factibilidad se refieré a implementar algo lo mas facil posible, con los minimos recursos posibles, en el menor tiempo posible. En el caso de este ejercicio, suponiendo un uso factible de la solucion dada por los estudiantes, que hay que hacer para que sea optima?
- Condiciones de Falla: Exponga las fallas operativas del mismo que usted logré determinar o preveer en el tiempo del laboratorio (condiciones de bloqueo, errores matematicos, errores de pantalla, portabilidad, etc).
-
Integración y Diferenciación
Revise las diapositivas de la clase y realice los ejercicios de solo aquellas que tienen la etiqueta roja con amarillo. Responda unicamente las preguntas dadas y enviélo en unico documento en un archivo pdf o rtf que contenga: El código o los códigos de la solucion planteada (No olvide enunciar los encabezados de la pregunta) y los resultados obtenidos. La respuesta a las preguntas dadas, se haran al azar en los ultimos diez minutos del curso.
-
Comparando Rendimientos: Códigos Secuenciales Vs. Paralelos
Un ejemplo típico de adaptación de un código serial a uno paralelo es el cálculo de PI usando la regla de trapecio. En esta práctica haremos una breve pasada por una aplicación "banal" de análisis numérico sobre tres posibilidades tecnológicas diferentes. Presentación
Los Códigos en
-
Integracion con Trapecios
Código
public class Integral { private double a,b; public double integral(double a,double b){ double area=0; this.a=a; this.b=b; area=(b-a)*(f(a)+f(b))/2; return area; } public double error(){ double error=0; error=-(Math.pow((this.b-this.a),3)/12)*(2*((f(b)-f(a))/(b-a))); return error; } public double f(double x){ double fx=0; fx=0.2+25*x-200*Math.pow(x, 2)+675*Math.pow(x, 3)-900*Math.pow(x,4)+400*Math.pow(x, 5); return fx; } public static void main(String[] args){ Integral iew Integral(); System.out.println(i.integral(0, 0.8)); System.out.println(i.error()); } }A realizar: Usando 5 y 10 trapecios, comparar el error con el codigo original.
-
Jugando y Explorando Splines
- Visite el sitio: http://www.cse.unsw.edu.au/~lambert/splines/
- Observe cada uno de los Splines propuestos.
- Descargue alguno de los códigos fuentes y observe e identifique las partes criticas del programa, consumo de recursos del código: pasos a realizar que involucran procesador, almacenamiento de datos temporales de Lecto/Escritura que involucran memoria.
- Proponga el seudocódigo o diagrama de flujo del código seleccionado