Anda di halaman 1dari 26

Curso de Introduccin a Octave/Matlab para

Ingenieros Qumicos

Computer-aided Chemical Engineering

www.cacheme.org
Introduccin
2

cacheme.org
CAChemE
Asociacin formada por ingenieros qumicos
(profesionales, docentes y estudiantes) que pretende
estimular las posibilidades de software en la
ingeniera de procesos

Promueve las ventajas de las nuevas herramientas de


software libre disponibles y fomenta su uso en la
universidad e industria

Especializacin en simulacin y programacin


matemtica (optimizacin)
3

cacheme.org
Quines somos?
4

cacheme.org
Actividades
Formacin
Webinars
Desarrollo
Podcast!
5

cacheme.org
Por qu Octave UPM?
Octave UPM es una adaptacin de GNU Octave que se emplea para la
docencia de Informtica en la Escuela de Ingenieros de Caminos, Canales y
Puertos de la UPM y ha sido desarrollado por Israel Herraiz (@herraiz).
Es altamente compatible con MATLAB
Es software libre y gratuito, disponible para Windows y Linux.

Interfaz de Octave UPM (v.8)


http://mat.caminos.upm.es/octave/

Nota: Octave fue creado originalmente para resolver problemas de reactores ingeniera
qumica, su nombre viene en honor al profesor Octave Levenspiel (como el libro).
6

Requisitos para este curso cacheme.org

Conocimientos bsicos de programacin y reactores qumicos.


Octave-MATLAB, gua de referencia rpida y principios de programacin.
http://academic.macewan.ca/davisj80/files/2012/08/octave_qr.pdf
https://mat.caminos.upm.es/wiki/Curso_de_Introducci%C3%B3n_a_la_Programaci%C3%B3n
http://iimyo.forja.rediris.es/

Ejemplos de este curso han sido


tomados de aqu! Es material de
formacin libre y gratuito.
Tiempo para practicar

Ningn lenguaje se aprende por osmosis


Guillem Borrell
7

Buenas prcticas de programacin


cacheme.org
(reaprendiendo MATLAB-Octave)

Dos PDFs que todo el mundo que trabaja con MATLAB-


Octave debera conocer.

Algunas buenas prcticas de programacin cacheme.org

% Aade comentarios (documentacin)


Indenta (tabula) el cdigo para diferenciar los bucles y
condicionales.
Evita poner nmeros sin haberlos definido antes (magic
numbers)
y dales nombres ms descriptivos a tus parmetros
(Diametro mejor que D)
Evita los bucles anidados (nested loops)
intentando vectorizar operaciones cuando sea posible.
Preasigna las matrices en memoria (matrix preallocation)
Si existen, utiliza las funciones ya implementadas en
lugar de escribirlas por ti mismo.
Sesin 1: Introduccin a lenguaje
Matlab - Octave
Computer-aided Chemical Engineering

www.cacheme.org
Introduccin
10

cacheme.org
Objetivos de la sesin
1. Operaciones y comandos bsicos con Matlab Octave

2. Primeros programas
rea de una circunferencia
Sumatorio
Factorial
Nmeros primos
Ao bisiesto

3. Herramientas para resolver problemas de Reactores Qumicos


Resolucin de sistemas de ecuaciones diferenciales (ODE45)
Ecuaciones diferenciales de 1er orden
Ecuaciones diferenciales de 2do orden
Modelo Epidemiolgico
Modelo de Lokta-Volterra Condiciones iniciales de Cauchy
Problema
11

2. Operaciones y comandos bsicos Matlab - Octave cacheme.org


Calculadora / Matrices / Representacin 2D / Otros
12

2. Primeros programas cacheme.org


rea de un crculo

Conocido r obtener un programa que devuelva A.


Definir el problema Clculo de A
Identificar entradas r
Identificar salidas A
Algoritmo transformacin entradas en salidas A = .r2
13

2. Primeros programas cacheme.org


Sumatorio / Factorial / Sumatorio & Factorial

Programa que devuelva el sumatorio de


un nmero.
Ej: 6 0+1+2+3+4+5+6 =21

Programa que devuelva el factorial de


un nmero.
Ej: 6 6! = 1*2*3*4*5*6 = 720

Programa que devuelva el sumatorio y


factorial de un nmero.
14

2. Primeros programas cacheme.org


Nmero primo / Ao bisiesto

Programa que devuelva si un nmero


es primo o no es primo.
Recordatorio Nmero primo?
nicamente divisible por 1 y por l
mismo

Programa que devuelva si un ao es


bisiesto o no es bisiesto.
Recordatorio Ao bisiesto?
Es bisiesto si es:
Divisible por 4
Salvo si es divisible por 100
Excepto si divisible por 400
15

3. Herramientas para resolver problemas de RQ cacheme.org


Ecuacin diferencial de primer orden

Ecuacin que involucra derivadas de la funcin desconocida


Por qu numricamente? Slo las ecuaciones diferenciales ms sencillas
admiten soluciones dadas por frmulas explcitas (analticas)

= 5()

pkg load odepkg % Pon esto en la consola para cargar la librera en Octave UPM
16

3. Herramientas para resolver problemas de RQ cacheme.org


Ecuacin diferencial de segundo orden

Ej: E.D. 2o orden 1


= 2
2
2 = 2 sin() 2
= 2 sin(1 )

17

3. Herramientas para resolver problemas de RQ cacheme.org


Resolucin numrica de sistemas de ecuaciones diferenciales
(cc) Guillem Borrell

lsode: Interfaz de Octave a odepack


ode45: Es un Runge-Kutta de paso variable y 4
orden. La primera opcin
ode113: Esquema Adams multipaso
ode23s: Esquema para problemas stiff (rgidos)

Se dice que un problema es rgido (stiff) cuando el paso temporal de integracin


viene determinado por la estabilidad del esquema, no por la precisin
Suelen relacionarse con funciones que introducen fuertes gradientes o
condiciones de contorno restrictivas
Suelen asociarse a problemas no lineales y requieren esquemas de integracin
temporal implcitos

pkg load odepkg para cargar la librera en Octave UPM


18

3. Herramientas para resolver problemas de RQ cacheme.org


Modelo Epidemiolgico

(cc) MateWiki (UPM)


19

3. Herramientas para resolver problemas de RQ cacheme.org


Modelo Epidemiolgico

(cc) MateWiki (UPM)


20

3. Herramientas para resolver problemas de RQ cacheme.org


Modelo de Lokta-Volterra Condiciones iniciales de Cauchy

El crecimiento de la poblacin R(t) (Rabbits, en adelante simplemente R) de presas en ausencia de


predadores es proporcional a la poblacin R. Siendo a la diferencia entre las tasas de natalidad y
mortalidad de la presa:

El crecimiento de la poblacin R se ve afectado por la accin de los depredadores. Esta accin es


proporcional a la cantidad de interacciones FR entre la poblacin R de presas y la
poblacin F(t) (Foxes, en adelante simplemente F) de predadores. El factor de
proporcionalidad c indica el grado de efectividad del proceso.

Este mismo factor afecta de forma positiva al crecimiento de la poblacin F de predadores, que se ven
beneficiados por la caza. El factor de proporcionalidad d indica el grado en que afecta el xito en la
caza al crecimiento de la poblacin de predadores.

Por ltimo, la competitividad asociada al crecimiento excesivo de la poblacin de predadores F resulta


perjudicial para el crecimiento de esta poblacin. El grado en que esto afecta al crecimiento de la
poblacin se representa a travs del parmetro c.

(cc) MateWiki (UPM)


21

3. Herramientas para resolver problemas de RQ cacheme.org


Modelo de Lokta-Volterra Condiciones iniciales de Cauchy

La expresin final del modelo se puede expresar a travs del problema de


condiciones iniciales o de Cauchy:

Resolver para poblacin inicial de Presas 0 = 3000 y de Predadores 0 = 1000.


En un intervalo y para los valores = 0.4, = 0.37, = 0.3, = 0.05.
Intervalo de tiempo de 0 a 100 con 1000 iteraciones.

http://jsxgraph.uni-bayreuth.de/wiki/index.php/Lotka-Volterra_equations (cc) MateWiki (UPM)


22

3. Herramientas para resolver problemas de RQ cacheme.org


Modelo de Lokta-Volterra Condiciones iniciales de Cauchy
23

3. Herramientas para resolver problemas de RQ cacheme.org


Problema
24

3. Herramientas para resolver problemas de RQ cacheme.org


Problema
Curso de Introduccin a Octave/Matlab para
Ingenieros Qumicos

Computer-aided Chemical Engineering

www.cacheme.org
Introduccin
26

www.cacheme.org

@CAChemEorg
CAChemEorg
CAChemE
mail info@cacheme.org

Anda mungkin juga menyukai