Una profesora nos ha preguntado información de material docente para enseñar a programar en el colegio o instituto. Esta pregunta nos encanta y dado que en EEUU y otros países se está apostando mucho por ello, vamos a recopilar un listado de las opciones más interesantes de menor a mayor complejidad.
¿Por qué enseñar a programar?
Por lo tanto, para comenzar desde cero recomendamos code.org y Blocky. Este último nos gusta porque que te enseña el código de tu programa en Python que resuelve un laberinto:
Aprender a programar Python jugando
Existen varias webs con videojuegos online muy sofisticados para aprender Python muy interesantes tanto para alumnos como docentes, por ejemplo:
[box type=»note»]Recuerda: En esta entrada de CAChemE ya hablamos de libros, algunos con licencia permisiva, para enseñar programación con Python a cualquier interesado (sin importar la edad). ¡No te la pierdas!
En esta línea, aquí unos serie de libros de Python para crear aplicaciones o videjuegos personalizados:
Aunque hay que reconocer, que una de las plataformas más llamativas, pese a no ser Python, es la de appinventor.
Python para física o matemáticas:
Si los alumnos van a utilizar Python en sus asignaturas de física o matemáticas, hay que dar un un vistazo al canal de youtube de Jose Luis Tabara Carbajo.
Como editor de código, puedes usar notepad++, atom o sublime. Te recomiendo darle un vistazo a Python Tutor que es lo cómo enseñan Python en universidades americanas:
Python es de facto el lenguaje de programación más popular del momento. Pero, ¿cómo realizar tareas sencillas en paralelo y sin apenas esfuerzo?
Lo creas o no, esto es es posible y lo mejor es que sólo existen tres palabras claves que necesitas conocer: numba, map y submit
numba
No nos engañemos, programar en paralelo va a añadir inevitablemente mayor complejidad al código y pronto aprenderás que existe algo llamado Heisenbugs.
Por lo tanto y en primer lugar, si lo que queremos es acelerar el código, con numba conseguiremos dos ordenes de magnitud de mejora simplemente añadiendo ´@jit´ a una función.
Pero, si sigues leyendo esto es porque quieres programar en paralelo, sin apenas esfuerzo y ya tienes:
Entonces… ¡buenas noticias! Con la nueva versión de numba también podemos paralelizar las funciones compiladas al vuelo:
map & submit
Cualquier librería para trabajar en paralelo tendrá implementadas estás dos funciones:
map: Si tienes una operación que debe repetirse n veces de forma indpendiente y en paralelo
submit: Si la tarea a repetir depende de alguna condición y no ves claro cómo usar map
Ambas operaciones pueden llevarse a cabo trabajando con dos técnicas muy diferentes:
multithreading: compartimos datos en memoria y trabajamos de forma independiente sobre ellos (ej. leer archivos de una lista de nombres).
multiprocessing: nuestros datos de entrada pueden cambiar durante la operación por lo que necesitamos hacer una copia de cada uno de ellos y distribuirlo de forma independiente.
Por defecto, el intérprete de Python bloquea las variables globales y, por tanto, si queremos trabajar sobre ellas necesitamos copiar datos de un lado a otro (lo que conlleva un tiempo extra y obliga a usar multiprocessing). Esto se le conoce como GIL y es un tema de gran controversia.
Entonces, ¿por dónde empiezo y qué herramienta es la mejor?
Nosotros recomendamos seguir estos tres tutoriales de la conferencia SciPy 2017.
Parallel Data Analysis in Python
Para aprender los fundamentos y varias opciones que existen dentro de Python.
Curso de introducción a simuladores de procesos químicos mediante software libre y gratuito como alternativa a Aspen Plus, Aspen HYSYS y ChemCAD. Aprende los fundamentos y ponlos en práctica en este curso de 10 horas que tendrá lugar en el COIQCV. Haremos uso de DWSim, alternativa libre y gratuita a simuladores de procesos comerciales.
Lugar:
Sede del COIQCV (c/ Padre Tomás Montañana 26, 1D, Valencia)
Fechas y horario:
Viernes 3 de junio de 16 a 21 h
Sábado 4 de junio de 9 a 14 h.
Temario (10 h):
Conceptos básicos sobre la arquitectura y funcionamiento de los simuladores de procesos químicos secuenciales-modulares.
Repaso de los fundamentos del equilibrio entre fases. Elección del paquete termodinámico.
Simulación de equipos básicos de la industria química (mezcladores, separadores, compresores, bombas, intercambiadores de calor, etc.).
Simulación de reactores y columnas de destilación.
Recuerda que este curso puede ser financiado por la Fundación Tripartita, consúltalo con tu empresa.
Instructores:
Juan Javaloyes es Dr. Ingeniero Químico por la Universidad de Alicante. Actualmente forma parte del grupo de investigación COnCEPT (Computer Optimization in Chemical Engineering Processes and Technologies). Su campo de investigación es la síntesis y optimización de procesos industriales utilizando simuladores de procesos químicos y herramientas de programación matemática. Juan Javaloyes ha trabajado anteriormente en un proyecto de investigación en colaboración con el departamento de Tecnología de SABIC – IP Cartagena (2009-2011). Dicho proyecto se centró en la optimización energética y rediseño de una planta de proceso para la producción de difenil carbonato (DPC). Los resultados obtenidos en esta investigación culminaron con la publicación de cuatro patentes. Juan ha sido instructor de un curso de introducción a la simulación dinámica utilizando Aspen Hysys Dynamics y durante los años 2009 – 2012 obtuvo el Máster en Investigación en Ingeniería Química y el Máster en formación de Profesorado.
Natalia Quirante es Ingeniera Química y Máster en Gestión Sostenible y Tecnologías del Agua, ambas por la Universidad de Alicante. Actualmente es investigadora en formación en el Instituto Universitario de Ingeniería de los Procesos Químicos y pertenece al grupo de investigación COnCEPT (Computer OptimizatioN of Chemical Engineering Processes and Technologies). Su labor investigadora se centra principalmente en el diseño y la optimización de procesos industriales usando modelos surrogados. Además, estudia nuevos modelos complejos, aplicados a procesos reales, relacionados con la eficiencia energética y medioambiental.
Alba Carrero es Ingeniera Química e investigadora en el grupo COnCEPT de la Universidad de Alicante. Actualmente participa en el proyecto europeo ShaleXenviromental donde diseña y optimiza procesos de tratamiento de agua con el fin de hacer frente a las actuales limitaciones por problemas medioambientales en la explotación de los pozos de gas de esquisto. Alba ha trabajado anteriormente en Inprocess Technology and Consulting realizando proyectos internacionales de simulación dinámica con Aspen Hysys Dynamics en el sector de Oil&Gas (2014-2015). Además, ha sido instructora del curso de CAChemE de iniciación a la simulación de procesos químicos con COCO simulator y ChemSep (2014).
¿A quién va orientado este curso?
Los simuladores de procesos químicos son una herramienta ampliamente utilizada que simplifica el trabajo de los ingenieros químicos y permite resolver una gran variedad de problemas de simulación, diseño y optimización. Estos simuladores incluyen una amplia librería termodinámica y modelos detallados para calcular balances de masa y energía para un gran número de operaciones unitarias presentes en la industria química, permitiendo reproducir con precisión los procesos implementados. En este curso de introducción de 10 h se van a repasar los fundamentos de los simuladores de procesos químicos secuenciales-modulares en estado estacionario y se pondrán en práctica mediante DWSIM (alternativa libre y gratuita a simuladores de procesos comerciales como Aspen Plus, Aspen HYSYS o ChemCAD). Recomendamos este curso tanto a estudiantes como profesionales que busquen mejorar su formación en el área de simulación de procesos.
Aprende más sobre Ingeniería de Procesos Químicos por ordenador
Un problema de optimización consiste, a grandes rasgos, en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y calculando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones (lineales y no lineales) y variables enteras (para modelar la toma de decisiones discretas). Dos de los lenguajes de modelado comerciales más utilizados para resolver este tipo de problemas matemáticos son GAMS y AMPL. Pyomo (pyomo.org) proporciona una alternativa libre y gratuita a estos lenguajes de modelado algebraico haciendo uso de Python, un lenguaje de programación de alto nivel con todas las funciones con un rico conjunto bibliotecas científicas.
Respecto a sus capacidades como lenguaje de modelado algebraico, Pyomo es compatible con una amplia gama de tipos de problemas de optimización tipo LP, QP, NP, MILP, MINLP, MISP entre otros y se comunica con los principales solvers comerciales, gratuitos y/o libres.
La resolución mediante métodos de optimización son a menudo desconocidos o bien delegados por falta de tiempo y/o recursos. Por este motivo, en este taller para estudiantes de la EPS de la Universidad de Alicante se realizará un breve repaso a conceptos de optimización y presentará Pyomo para la resolución de diferentes problemas tipo.
A continuación, puedes ver las diapositivas de introducción a Pyomo que Daniel Domene y Carlos Planelles presentaron durante la PyConES 2015:
Instructor:
Juan Luis Cano es Ingeniero Aeronáutico por la Universidad Politécnica de Madrid y editor del blog de Pybonacci, referencia a nivel nacional en cuanto al uso de Python científico. Juan Luis repite como instructor y posee amplia experiencia docente tanto en empresas interesadas en adoptar Python como herramienta de trabajo como en su universidad de origen (UPM).
CAChemE (@CAChemEorg) estará presente como organización y apoyo. El curso se ha diseñado para que sea totalmente práctico, con ejemplos extraídos de asignaturas de optimización comunes en carreras científicas y de ingeniería química.
Requisitos:
Conocimientos de optimización. Haber cursado una asignatura de optimización de procesos que incluya conocimientos básicos sobre problemas de tipo LP, MIP, NLP y MINLP, y sobre el modelado de estos problemas (incluyendo variables binarias). Si no estás familiarizado a la resolución de problemas de optimización GAMS o AMPL, te recomendamos varios recursos online para aprender por tu cuenta y/la o documentación de Pyomo.
Conocimientos de programación. Por falta de tiempo, no podremos de explicar conceptos básicos de programación (por ejemplo, qué es un bucle y un condicional, etc.) Con saber cualquier otro lenguaje de programación MATLAB (o similares) es suficiente.
Visualización previa del curso online de Python. Si bien Python es uno de los lenguajes más fáciles de aprender, no cubriremos la sintaxis y posibilidades del lenguaje en esta ocasión (es un taller de Pyomo). Todas sus funcionalidades y librerías serán referenciadas a este material online durante el curso.
Poder asistir a la totalidad del curso
Ser estudiante de la UA o formar parte del colectivo PDI o PAS.
Inscripción:
El plazo de solicitud de inscripción se abrirá el miércoles 10 de febrero a las 16:00 h siendo accesible desde esta página web. Las plazas son limitadas y se asignaran por riguroso orden de entrada. Se prevén bastantes inscripciones así que comprueba tu horario y si ya es seguro que puedes asistir, te recomendamos ponerte una alarma para apuntarte y evitar sorpresas 😉
Debido a la alta demanda y las plazas limitas, se confirmará la inscripción vía email. Te recomendamos que estés pendiente de nuestras redes sociales (Twitter, Facebook) para recibir la información más inmediata. Para cualquier duda que tengáis podéis usar las mismas, los comentarios, nuestro formulario de contacto o preguntarnos por los pasillos de la facultad.Este curso es posible gracias a la generosa financiación de la EPS y sus actividades del Mes Cultural.
¿Cómo me lo instalo?
Pese a que los ordenadores de las salas tendrán Anaconda con Python 3 instalado, es buena idea que traigas tu portátil para configurarlo en tu equipo. Recomendamos instalar Anaconda siguiendo estas instrucciones:
El viernes tendremos a Victor Terrón (Ingeniero de Google) que nos hablará de como convertirse en hackers
Viernes 18 de febrero a las 13:00 h en el Salon de Actos I de la EPS (leer más)
Dirigida a estudiantes, esta charla tiene como objetivo ofrecer un enfoque distinto al habitual, mostrando el mundo de la programación accesible para todos. Todos conocemos las “Leyendas Urbanas” que existen sobre Hackers y la programación, a lo largo de la charla se lleva a cabo la comparativa de la realidad frente a la ficción. Dando también a conocer al oyente como puede comenzar a desenvolverse en este nuevo mundo. El acceso a esta charla no necesita de registro alguno.
Aprende más sobre Python
El ecosistema Python es muy amplio y se encuentra plena evolución, si quieres saber más puedes ver nuestro curso online y el blog de Pybonacci:
Información y material del curso de introducción a la programación con Excel-VBA junto con Python (pandas) financiado por la subdirección de Ingeniería Química de la Escuela Politécnica Superior de la Universidad de Alicante (¡gracias a todos por participar en la encuesta y en nuestro evento de Facebook !).
Temario impartido (10 h):
El temario a cubrir es muy extenso y podría darse en una asignatura anual. Sin embargo, nuestra idea es mostrar con ejemplos las posibilidades de automatización de tareas y tratamiento de datos que ofrece Excel en combinación con VBA y Python. Iremos adaptando el contenido según la respuesta del grupo para que nadie se quede atrás. No te convertirás en un experto o experta, pero descubrirás funcionalidades que te podrán ser muy útiles durante tu carrera profesional.
Sesión 1:
Funciones lógicas, anidadas y formatos condicionales
Poder asistir a la totalidad del curso. Si no puedes asistir a la totalidad del curso por incompatibilidad de horarios evita inscribirte al mismo. Son varios los estudiantes interesados y, por este motivo, aquellos estudiantes que no acudan a un 80% de las sesiones quedarán excluidos de futuros cursos gratuitos de CAChemE.
Ser alumno de Ingeniería Química en la Universidad de Alicante (actualizado). Si eres estudiante de Máster o del plan antiguo te recomendamos apuntarte igualmente, aunque los estudiantes de grado tendrán cierta prioridad en la asignación de plazas (¿por qué?).
Conocimientos básicos de programación y Excel. No se trata de explicar qué es un bucle, un condicional o escribir fórmulas en Excel. Con haber cursado las asignaturas de MATLAB (o similares) y haber manejado Excel durante los primeros años del grado será suficiente. Si no pudiste asistir al curso de Python, te recomendamos encarecidamente que le des un vistazo a las primeras sesiones de nuestro curso online.
Inscripción:
El plazo de inscripción se abrirá el miércoles 28 de octubre a las 22:00 h siendo accesible desde esta página web. Las plazas son limitadas y se prevén bastantes inscripciones. Comprueba el horario y si ya es seguro que puedes asistir, te recomendamos ponerte una alarma para apuntarte y evitar sorpresas 😉
Este curso gratuito ha sido amablemente financiado por la subdirección de Ingeniería Química de la Escuela Politécnica Superior de la Universidad de Alicante. La financiación de cursos viene de partidas presupuestarias afines a este tipo de actividades. En este caso, los fondos asignados provienen de los estudios de grado. Por este motivo, si erés estudiante de Máster (o del plan antíguo) puedes inscribirte pero en caso de falta de plazas tendrán prioridad los estudiantes de grado ante la eventualidad de que haya igualdad de condiciones (o tiempos de preinscripción). Si quieres que el departmento financie un curso similar (o más avanzado) para tu plan, házselo saber al delegado de tu curso 🙂
En la industria química el manejo y análisis de grandes volúmenes de datos (también conocido como Big Data) se hace cada vez más indispensable para asegurar una buen control así como ayudar a la toma de decisiones en cuanto seguridad y eficiencia de operaciones en planta. El tratamiento de toda la información proveniente de sensores, que puede catalogarse dentro de un tipo de Big Data, es una de las cualidades que más se buscará según varias previsiones (AIChE, MIT review). En general, parafraseando a Sydney Brenner, la situación actual se podría describir como:
“We are drowning in a sea of data but still thirsty of knowledge.”
(Estamos ahogándonos en un mar de datos pero seguimos sedientos de conocimiento)
Por otra parte, se pueden incorporar datos provenientes de simulaciones —que hacen uso de modelos matemáticos y métodos numéricos cada vez más sofisticados— siendo además hardwares cada vez más asequibles (futuro de los superordenadores Intel, fíjate en que incluso hay una parte del quesito dedicada a la Ingeniería Química y otra gran parte al CFD).
El futuro es prometedor dada la convergencia de estas dos líneas y aplicabilidad directa en la industria química —cada vez mejor software en mejor hardware— . Por ello, las competencias «informáticas» son más necesarias que nunca en la industria química y desde CAChemE intentamos que cualquier estudiante o profesional de ingeniería química pueda recibirlas de forma gratuita.
Si acabas de llegar, te recomendamos que le eches un vistazo a Python, un lenguaje de programación tipo MATLAB pero libre, gratuito y perfecto para el Big Data.
De forma recurrente se nos pregunta por recomendaciones de material online para aprender optimización matemática (también conocida como optimización o programación matemática). En general, siempre que se habla de optimización en la programación, se hace referencia a la reducción en el tiempo de ejecución. Pero la optimización matemática no tiene nada que ver con este problema y, en muchos casos, la formación que se recibe en las universidades no pasa de explicar el algoritmo SIMPLEX.
Un problema de optimización consiste, a grandes rasgos, en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y computando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones, ecuaciones no lineales y variables de decisión en el sistema a optimizar. Dos de los lenguajes de modelado más utilizados para resolver este tipo de problemas matemáticos son GAMS y AMPL.
Por último, dale un vistazo a páginas de cursos como edx.org o coursera.org por si tuvieran cursos de «linear programming» u «optimization», como por ejemplo:
Tras el éxito de la primera edición, volvemos este año con el curso de introducción al lenguaje de programación Python enfocado principalmente a científicos, ingenieros o cualquier persona interesada en análisis y visualización de datos. En este taller de introducción a Python científico, enseñaremos a utilizar las herramientas básicas que forman su ecosistema.
Si aún no conoces Python, echa un vistazo a algunas de las empresas que utilizan este lenguaje en su día a día (¡incluso la revista Nature!):
Del lunes 23 hasta el jueves 26 de febrero en el edificio Politécnica I: ▪ Lunes – 15:30 a 18:30 en el laboratorio L24 ▪ Martes – 15:00 a 17:00 en el laboratorio L23 ▪ Miércoles – 15:30 a 18:00 en el laboratorio L14 ▪ Jueves – 15:30 a 18:00 en el laboratorio L14
Juan Luis Cano es estudiante de Ingeniería Aeronáutica de último año en la Universidad Politécnica de Madrid y editor del blog de Pybonacci, referencia a nivel nacional en cuanto al uso de Python científico. Juan Luis repite como instructor y posee experiencia docente tanto en empresas interesadas en adoptar Python como herramienta de trabajo como en su universidad de origen (UPM). Además, colabora de forma activa con la comunidad y se encargó de la organización del track científico de la PyConES 2013 (primera conferencia nacional dedicada a Python) dando varios cursos de introducción así como avanzados.
CAChemE (@CAChemEorg) estará presente como organización y apoyo. El curso se ha diseñado para que sea práctico, con ejemplos extraídos de asignaturas comunes en carreras científicas y de ingeniería. Si quieres ver el material de un curso similar y más completo, te recomendamos el Curso de Aeropython de la UPM.
Requisitos:
Conocimientos básicos de programación. No se trata de explicar qué es un bucle y un condicional, pero con haber escrito alguno en MATLAB (o similares) es suficiente.
Visualización previa del curso online. Si bien el curso seguirá siendo de introducción, muchos de los conceptos que ya se dieron en la primera edición (y que se encuentran disponibles online) serán referenciados a este material durante el curso.
Ser estudiante de la UA, PDI o PAS.
Inscripción:
El plazo de solicitud de inscripción se abrirá el viernes 13 de febrero a las 12:00 h siendo accesible desde esta página web. Las plazas son limitadas y se asignaran por riguroso orden de entrada. Se prevén bastantes inscripciones (el año pasado se agotaron las plazas en menos de 1 hora). Comprueba tu horario y si ya es seguro que puedes asistir, te recomendamos ponerte una alarma para apuntarte y evitar sorpresas 😉
Debido a la alta demanda, se pedirá confirmación de la asistencia más adelante vía email. Por este motivo, la ausencia al curso de más del 25% (en horas) tendrá como consecuencia la pérdida de la plaza asignada.
Te recomendamos que estés pendiente de nuestras redes sociales (Twitter, Facebook) para recibir la información más inmediata. Para cualquier duda que tengáis podéis usar las mismas, los comentarios, nuestro formulario de contacto o preguntarnos por los pasillos de la facultad.
Pese a que los ordenadores de las salas tendrán Anaconda con Python 3 instalado, es buena idea que traigas tu portátil para configurarlo en tu equipo. Recomendamos instalar Anaconda siguiendo estas instrucciones:
Dirigida a estudiantes, doctorandos y docentes, esta charla tiene como objetivo introducir Python científico en contexto y dar ejemplos reales de su uso. Se recomienda especialmente la charla a los asistentes del curso y cualquier persona interesada en conocer las alternativas a software comercial como MATLAB o Mathematica.
Volvemos este año con la segunda edición del curso gratuito de Octave / MATLAB para ingeniería química. De nuevo, la motivación de este curso es mostrar a los estudiantes una alternativa, libre, gratuita y factible a MATLAB que puedan utilizar una vez comience su vida profesional. Para ello se resolverán diversos problemas, con especial atención al diseño de reactores químicos, un área de conocimiento que requiere del uso de métodos numéricos para su simulación, sin olvidar otros campos de interés.
Horarios y aulas:
Lunes 27 de octubre de 15:30 a 18:00 h en el laboratorio L18 (Ed. Poli. I)
Martes 28 de octubre de 15:30 a 18:00 h en el aula A3/INF2 del Aulario III
Miércoles 29 de octubre de 15:30 a 18:00 h en el laboratorio L17 (Ed. Poli. I)
Jueves 30 de octubre de 15:30 a 18:00 h en el laboratorio L17 (Ed. Poli. I)
Es altamente compatible y similar a MATLAB, siendo esta última la opción con la que se imparten los cursos de programación a los estudiantes de grado pero que tiene un coste de 69 € para estudiantes y de ~15000 €si lo quieren utilizar en su vida profesional
Es software libre y 100% gratuito, disponible para Windows y Linux
Octave UPM, por ejemplo, es una adaptación de GNU Octave que se emplea para la docencia de Informática en la Escuela de Ingenieros de Caminos, Canales y Puertos de la UPM y ha sido desarrollado por el Dr. Israel Herraiz
El curso es gratuito y de acceso libre, todo el material utilizado durante el mismo será también publicado para aquellos que no puedan asistir. No obstante, recomendamos este curso ya que su intención es más práctica que teórica y además estaremos a vuestra disposición para ayudaros a encontrar fallos en vuestros scripts así como resolver dudas puntuales que tengáis. Recomendamos que vengáis con vuestro portátil para poder trabajar siempre que queráis con Octave UPM en vuestro ordenador.
¿Por dónde empezar?
Los requisitos del curso serán tener conocimientos básicos de programación y de reactores químicos. Para el que quiera ir repasando:
MateWiki (UPM): Video tutoriales y materiales para aprender a programar en MATLAB-Octave
El temario del curso se dividirá en 4 sesiones de 2,5 horas cada una y se adaptará con la respuesta de los asistentes:
Sesión I (2,5 h):
Introducción a Octave UPM
Buenas prácticas de programación
Repaso: Operaciones y comandos básicos de Matlab-Octave
Resolución de ecuaciones diferenciales ordinarias
Sesión II (2,5 h):
Modelado y simulación de RDTAs mediante ejemplos ordenados de menor a mayor grado de dificultad:
Llenado de un tanque.
Llenado de un tanque con aporte de calor
RDTA y reacciones en serie (isotermo)
Modelado de un RDTA no isotermo
Sesión III (2,5 h):
Modelado y simulación de RFPs mediante ejemplos de complejidad progresiva
Reacción en fase gas sobre catalizador de óxido de aluminio
Craqueo de acetona
Craqueo térmico de hidrocarburos (incluyendo balances de materia, energía y cantidad de movimiento).
Sesión IV (2,5 h):
Introducción a aplicaciones de Octave/Matlab en Ingeniería Biomédica: modelo epidemiológico, tratamiento de imágenes médicas, ayuda al diagnóstico médico, modelización y simulación de sistemas fisiológicos.
Resolución de un problema con sucesión de varios reactores RFP en serie
Modelado y simulación de la puesta en marcha de un RCTA (comportamiento dinámico)
¿Cómo podrían afectar los recortes a la propagación del virus del Ébola?
function main
% Modelo simple SEIR epidemiológico
% del virus del Ébola
% Oct. 2014 - CAChemE.org
% Condiciones iniciales
N = 100; % Población total
y0 = [N, 1, 0, 0, 0]; % [S, E, I, R, D]
% Discretización de la variable independiente
tiempo_simulacion = 350; % días
t = [0, tiempo_simulacion];
% Llamamos al ode para resolver las eq. diferenciales
[t,y] = ode45(@DiffEqs, t, y0);
function dydt = DiffEqs(t,y)
%Modelo simple epidemiológico para la
% propagación del virus del Ébola
% Recuperamos las variables dependientes de entrada
S = y(1);
E = y(2);
I = y(3);
R = y(4);
D = y(5);
Nn = S + E + I + R; % Total de personas vivas
%---------------------------------------------------------------
% Constantes del modelo
%---------------------------------------------------------------
sigma = 1./9; % Velocidad de convertirse en contagioso una vez expuesto
gamma_factor = 1./8.5; % Velocidad de recuperación o fallecimiento
f = 0.4; % Fracción de gente que no supera la enfermedad (40%)
% A mayor nº de recortes, mayor nº de personas contagiadas por infectado
recortes_sanidad = 1.4;
R_0 = recortes_sanidad;
beta_factor = R_0*gamma_factor; % Velocidad con la que se propaga la infec.
% Definimos las ecuaciones diferenciales
dSdt = -beta_factor*(S/Nn)*I;
dEdt = +beta_factor*(S/Nn)*I - sigma*E;
dIdt = sigma*E - gamma_factor*I;
dRdt = (1.0-f)*gamma_factor*I;
dDdt = f*gamma_factor*I;
dydt = [dSdt, dEdt, dIdt, dRdt, dDdt]';
end
% Obtenemos y nombramos las variables dependientes de salida del ode45
S = y(:,1); % S es el nº de personas sin infectar
E = y(:,2); % E es el nº de portadores del virus no contagiosos (aún)
I = y(:,3); % I es el nº de personas sintomáticas e infecciosas
R = y(:,4); % R es el nº de personas recuperadas
Ds = y(:,5); % D es el nº de personas fallecidas
% Creamos la figura para representar los resultados
figure(1)
% Representamos las curvas de evolución con respecto al tiempo
plot(t, [(E + I), I, R, Ds, S])
% Añadimos leyenda a los datos
legend('% infectados', ...
'% infectados contagiosos', ...
'% recuperados', ...
'% fallecidos', ...
'% población sana ')
title('Variación de la velocidad de propagación del virus del ebola.')
xlabel('tiempo / días')
ylabel('porcentaje de población')
end
Instructor: Sergio Quesada
El curso será impartido por Sergio Quesada Dorigné, Ingeniero Químico por la Universidad de Alicante e Ingeniero Biomédico por la Universidad Politécnica de Valencia y la Universidad de Valencia.
¿A quién va orientado este curso?
Si bien el curso está orientado a alumnos de grado de 3º de Ingeniería Química (de ahí el horario de tarde que se ha seleccionado), en el curso se hará una introducción a la programación con Octave / MATLAB por ordenador. Si eres estudiante de otro año y no tienes problemas con las clases ¡eres más que bienvenido/a!. Si, por el contrario, te hubiera gustado asistir pero el horario del curso es incompatible con el tuyo, háznoslo saber con un comentario.
CAChemE entregará certificados de asistencia a quienes lo soliciten y cumplan con los requisitos (asistencia mínima al 80 % de horas). No obstante, este curso no es convalidable por créditos de libre configuración.
¿Por qué es gratuito?
Este curso es posible gracias a la financiación del la Escuela Politécnica Superior de la Universidad de Alicante. Si te interesan este tipo de cursos de formación de ingeniería química por ordenador, házselo saber al delegado de tu curso para presentar una solicitud por la vía correspondiente.
Aprende más sobre Ingeniería de Procesos Químicos por ordenador
Suscríbete a nuestro canal de YouTube o síguenos en Facebook o Twitter.
Desde CAChemE estamos muy orgullosos de presentaros nuestro nuevo curso online dedicado a la simulación de procesos químicos por ordenador. Para ello, hemos hecho uso de COCO Simulator que, en combinación con ChemSep, permite la simulación de procesos químicos de forma gratuita y se presenta como alternativa a Aspen y ChemCAD.
Ingeniería química por la Universidad de Alicante con experiencia en Forest Chemical Group SA (I+D+i) y Biofuel Systems SL. Alba ha trabajado con simuladores de procesos comerciales (Aspen, Aspen Hysis, ChemCAD…) siendo su proyecto fin de carrera (Simulación de la separación de benceno, clorobenceno y ácido clorhídrico y diseño de la columna de separación) una muestra de ello
Curso online de COCO Simulator y ChemSep
Aprende con COCO Simulator a utilzar simuladores de procesos químicos de forma totalmente gratuita: