Difference between revisions of "Análisis numérico I"
(9 intermediate revisions by the same user not shown) | |||
Line 75: | Line 75: | ||
<div class="panel-body"> | <div class="panel-body"> | ||
<ol> | <ol> | ||
− | <li>[Métodos Numéricos]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/E00S59E2Sz58Y7Q Métodos Numéricos]</li> |
− | <li>[Ejemplo del Método de Bairstow]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/K8QqpBhEkcWEHnL Ejemplo del Método de Bairstow]</li> |
− | <li>[Jacobi y Ejercicio de Clase]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/ckDtB7Hol5Woerd Jacobi y Ejercicio de Clase]</li> |
− | <li>[Aplicaciones Varias Analisis Numérico]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/QDe74GljhQAcvRU Aplicaciones Varias Analisis Numérico]</li> |
− | <li>[Integracion Numérica, Primeros Métodos]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/J4JhF8zOYug0z9x Integracion Numérica, Primeros Métodos]</li> |
− | <li>[Diferenciación e Integración]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/xNvy45SW35WuJI7 Diferenciación e Integración]</li> |
− | <li>[Interpolaciones]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/YfLZHa8KoPSf6tH Interpolaciones]</li> |
− | <li>[Ecuaciones Diferenciales (Euler y Runge Kutta)(Codigo de Prueba: Archivo:Diff.c )]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/MfKFhBOb5WfBp2m Ecuaciones Diferenciales (Euler y Runge Kutta)(Codigo de Prueba: Archivo:Diff.c )]</li> |
− | <li>[Complejidad]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/JvVVk9alTGL5R2k Complejidad]</li> |
− | <li>[Técnicas de programación]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/caAmpfCHhSjp2tJ Técnicas de programación]</li> |
− | <li>[Lenguajes Interpretados]</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/EhRvMpT3STI2UPa Lenguajes Interpretados]</li> |
</ol> | </ol> | ||
</div> | </div> | ||
Line 97: | Line 97: | ||
</div> | </div> | ||
<div class="panel-body"> | <div class="panel-body"> | ||
− | |||
− | |||
<div class="col-md-6"> | <div class="col-md-6"> | ||
<div class="panel panel-midnight-border"> | <div class="panel panel-midnight-border"> | ||
Line 106: | Line 104: | ||
<div class="panel-body"> | <div class="panel-body"> | ||
<ul> | <ul> | ||
− | <li>Tema 1</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/fUmhG9UHFQgAPNh Tema 1]</li> |
− | <li>Tema 2</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/qI0DAulHq0VrHzR Tema 2]</li> |
− | <li>Solución recomendada</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/rnjaTETvxN3jLtU Solución recomendada]</li> |
</ul> | </ul> | ||
</div> | </div> | ||
Line 122: | Line 120: | ||
<div class="panel-body"> | <div class="panel-body"> | ||
<ul> | <ul> | ||
− | <li>Tema único</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/P7vbJxHdBzoHaV7 Tema único]</li> |
− | <li>Datos</li> | + | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/75NubLz0Fw3NB5d Datos]</li> |
</ul> | </ul> | ||
</div> | </div> | ||
Line 159: | Line 157: | ||
<div class="panel-body"> | <div class="panel-body"> | ||
<ol> | <ol> | ||
− | <li>Transforming Numerical Methods Education for the STEM Undergraduate</li> | + | <li>[http://numericalmethods.eng.usf.edu/ Transforming Numerical Methods Education for the STEM Undergraduate]</li> |
− | <li>Complex and Numerical Analysis Project | + | <li>[http://math.fullerton.edu/mathews/ Complex and Numerical Analysis Project]</li> |
</ol> | </ol> | ||
</div> | </div> | ||
Line 172: | Line 170: | ||
</div> | </div> | ||
<div class="panel-body"> | <div class="panel-body"> | ||
− | + | <ol> | |
− | + | <li> | |
− | + | <p><b>Conociendo la Plataforma</b></p> | |
+ | <p>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: [http://www.sc3.uis.edu.co/zona-de-usuarios/carta-de-uso/ Carta de uso] e [http://www.sc3.uis.edu.co/zona-de-usuarios/procedimiento-de-ingreso/ 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. </p> | ||
+ | <p>Clientes ssh</p> | ||
+ | <ul> | ||
+ | <li>[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty]</li> | ||
+ | <li>[http://mobaxterm.mobatek.net/ MobaXterm.]</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Primeras Implementaciones</b></p> | ||
+ | <p>En esta sesion, se desarrollaran algunas implementaciones de los métodos numéricos vistos en clase, para resolver algunos problemas especificos [http://www.sc3.uis.edu.co/owncloud/index.php/s/EGOJ5GEnZQ6F8CH Taller]</p> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Gauss Seidel Vs. Jacobi</b></p> | ||
+ | <p>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? </p> | ||
+ | <p>[http://www.sc3.uis.edu.co/owncloud/index.php/s/MuPIsU42uQDOz5G Taller]</p> | ||
+ | <p>[http://www.lawebdelprogramador.com/codigo/C_Visual_C/364-Implementacion_del_metodo_de_Gauss_Seidel_en_C++.html# El codigo implementado en C]</p> | ||
+ | <p>[http://math.fullerton.edu/mathews/n2003/GaussSeidelMod.html Comparacion de los dos métodos]</p> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Analizando problemas reales y planteando soluciones</b></p> | ||
+ | <p>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</p> | ||
+ | <ul> | ||
+ | <li>Eficiencia Computacional medida: Si es en Linux, usando el comando htop o top para medir el uso de los recursos. </li> | ||
+ | <li>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?</li> | ||
+ | <li>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). </li> | ||
+ | </ul> | ||
+ | <p></p> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Integración y Diferenciación</b></p> | ||
+ | <p>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.</p> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Comparando Rendimientos: Códigos Secuenciales Vs. Paralelos</b></p> | ||
+ | <p>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. [http://www.sc3.uis.edu.co/owncloud/index.php/s/Q1EJI7bmM5mOfzo Presentación]</p> | ||
+ | <p>Los Códigos en</p> | ||
+ | <ul> | ||
+ | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/dDXNRallzfbuZfT C (Serial)]</li> | ||
+ | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/6uEhxPLAc2fEtMN C + OpenMP]</li> | ||
+ | <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/JyRythhIgmhtAZN C + MPI]</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Integracion con Trapecios</b></p> | ||
+ | <p>Código</p> | ||
+ | <p> | ||
+ | {{Command|<nowiki> | ||
+ | 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()); | ||
+ | } | ||
+ | } | ||
+ | </nowiki>}} | ||
+ | </p> | ||
+ | <p>A realizar: Usando 5 y 10 trapecios, comparar el error con el codigo original. </p> | ||
+ | </li> | ||
+ | <li> | ||
+ | <p><b>Jugando y Explorando Splines</b></p> | ||
+ | <p></p> | ||
+ | <ul> | ||
+ | <li>Visite el sitio: http://www.cse.unsw.edu.au/~lambert/splines/</li> | ||
+ | <li>Observe cada uno de los Splines propuestos.</li> | ||
+ | <li>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.</li> | ||
+ | <li>Proponga el seudocódigo o diagrama de flujo del código seleccionado</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ol> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> |
Latest revision as of 15:56, 28 April 2015
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