Sei sulla pagina 1di 26

Curso de Introduccin a Octave/Matlab para

Ingenieros Qumicos
Computer-aided Chemical Engineering

www.cacheme.org

Introducci
n

CAChemE

cacheme.org

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)

Quines somos?

cacheme.org

Actividades
Formacin
Webinars
Desarrollo
Podcast!

cacheme.org

Por qu Octave UPM?

cacheme.org

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

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

Buenas prcticas de programacin


(reaprendiendo MATLAB-Octave)

cacheme.org

Dos PDFs que todo el mundo que trabaja con MATLABOctave 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

Introducci
n

10

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 1 er orden
Ecuaciones diferenciales de 2 do orden
Modelo Epidemiolgico
Modelo de Lokta-Volterra Condiciones iniciales de Cauchy
Problema

cacheme.org

11

2. Operaciones y comandos bsicos Matlab - Octave


Calculadora / Matrices / Representacin 2D / Otros

cacheme.org

12

2. Primeros programas
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

cacheme.org

13

2. Primeros programas
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.

cacheme.org

14

2. Primeros programas
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

cacheme.org

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)

% Pon esto en la consola para cargar la librera en Octave UPM


pkgloadodepkg

16

3. Herramientas para resolver problemas de RQ


Ecuacin diferencial de segundo orden

Ej: E.D. 2o orden

cacheme.org

17

3. Herramientas para resolver problemas de RQ

cacheme.org

Resolucin numrica de sistemas de ecuaciones diferenciales

lsode: Interfaz de Octave a odepack

(cc) Guillem Borrell

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 esrgido (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
pkgloadodepkg

para cargar la librera en Octave UPM

18

3. Herramientas para resolver problemas de


cacheme.org
RQ
Modelo Epidemiolgico

(cc) MateWiki (UPM)

19

3. Herramientas para resolver problemas de


cacheme.org
RQ
Modelo Epidemiolgico

(cc) MateWiki (UPM)

20

3. Herramientas para resolver problemas de RQ

Modelo de Lokta-Volterra Condiciones iniciales de Cauchy cacheme.org

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


cacheme.org
RQ
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 y de Predadores


En un intervaloy para los valores .
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

Modelo de Lokta-Volterra Condiciones iniciales de Cauchy cacheme.org

23

3. Herramientas para resolver problemas de


cacheme.org
RQ
Problema

24

3. Herramientas para resolver problemas de


cacheme.org
RQ
Problema

Curso de Introduccin a Octave/Matlab para


Ingenieros Qumicos
Computer-aided Chemical Engineering

www.cacheme.org

Introducci
n

26

www.cacheme.org
@CAChemEorg
CAChemEorg
CAChemE
mail

info@cacheme.org

Potrebbero piacerti anche