Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(Primera parte)
INTRODUCCIN
Las tcnicas de programacin estn ligadas a la Ingeniera Qumica y a los procesos industriales debido a la
necesidad de tener bajo control las variables de los proceso, as como monitorear el desempeo y
performance de las unidades correspondientes a las operaciones unitarias y reactores.
Los lenguajes de programacin son variados, se desarrollan bajo una misma base lgica y su aplicacin es
variada y puede ser diferente segn los requerimientos particulares de cada sistema. Para efectos de
aprendizaje se han universalizado entornos como Fortran, MatLab, Hysys, Chemcad, Visual, C++, etc., y a
medida que han avanzado las tecnologas de fabricacin de computadoras (hardware) los lenguajes han
variado permitiendo integrar imgenes e interfaces grficas que facilitan grandemente la visualizacin y la
simulacin de los modelos que representan sistemas diversos, desde el funcionamiento del pndulo de un
reloj digital hasta las ms complejas mquinas conocidas.
Para efectos prcticos, los desarrolladores de software aplicado a la Ingeniera Qumica y otras ramas de
ingeniera han desarrollado lenguajes de mucha utilidad, como los referidos antes, por lo que en el presente
curso nos ocuparemos de MatLab como una plataforma y entorno de muchsima utilidad y aplicabilidad en el
control, monitoreo y simulacin de procesos y sistemas que incluyan reacciones qumicas, sin que ello obste
el uso de otros lenguajes especializados y de real vigencia.
Se pretende ingresar al mundo de la programacin aplicada a la Ingeniera Qumica y de procesos
industriales, siendo en si una herramienta indispensable para el ingeniero de este tiempo, de modo que se
proceder de manera secuencial y progresiva, empezando con el aprendizaje de algoritmos y elementos
bsicos del entorno de MatLab, lenguaje y funciones, luego ingresar a modelado y finalmente a
programacin y simulacin de sistemas de Ingeniera Qumica.
1
Jose08052010@gmail.com
ALGORITMOS
Una computadora no tiene capacidad para solucionar problemas mas que cuando se le proporcionan
los pasos sucesivos a realizar, para ello elaboramos un algoritmo.
Qu es un algoritmo?
Es un mtodo para resolver un problema mediante una secuencia de instrucciones organizadas, cada
una de las cuales especifica las operaciones y proceso que debe seguirse para dar solucin a un
problema especfico.
Caractersticas de un algoritmo
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso e indicar el orden de realizacin de cada paso.
Debe estar definido. Si se sigue un algoritmo dos o ms veces, con los mismos valores
iniciales se debe obtener el mismo resultado.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, es decir, debe
tener un nmero finito de pasos.
Tambin hay que tener en cuenta en un algoritmo:
El algoritmo sirve de base para generar un programa, pero no es el programa en si.
El algoritmo no es inteligible directamente por el ordenador.
El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es
decir, dos programadores pueden obtener distintos cdigos fuente a partir del mismo
algoritmo.
Tipos de algoritmos:
a. Cualitativos: Se describen los pasos utilizando palabras.
b. Cuantitativos: Se utilizan clculos numricos para definir los pasos del proceso.
El proceso de un algoritmo
La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.
Entrada
Proceso
Salida
CONTENIDOS
I.
II.
III.
IV.
I.
3
Jose08052010@gmail.com
Ventajas y desventajas:
Ventajas Genera un cdigo ms sencillo y comprensible. Escribir un cdigo vlido para
diversas mquinas o sistemas operativos. Permite utilizar paradigmas de programacin.
Inconvenientes Reduccin de velocidad al ceder el trabajo de bajo nivel a la mquina.
Algunos requieren que la mquina cliente posea una determinada plataforma.
Principales lenguajes de nivel alto:
VB.NET - Ada - ALGOL - BASIC - C Sharp - FORTRAN - Java - Lisp - Modula-2 - Pascal
- Pauscal en espaol - Perl - PHP - PL/1 - PL/SQL - Python - Ruby Matlab, etc.
MATLAB es el lenguaje de alto nivel y entorno interactivo usado por millones de ingenieros
y cientficos de web. Se le permite explorar y visualizar las ideas y colaborar en todas las
disciplinas, incluyendo procesamiento de seales e imgenes, comunicaciones, sistemas de
control, y las finanzas computacionales.
1.3. Programas
El diseo de programas es una tarea difcil y es un proceso creativo. No existe un conjunto
completo de reglas para indicar cmo escribir un programa. Y podemos encontrar una
variedad amplia de programas que dan solucin a un mismo problema.
1.4. Diseo del algoritmo
Las caractersticas de un buen algoritmo son:
Debe ser general, es decir, soportar la mayora de las variantes que se puedan
presentar en la definicin del problema.
5
Jose08052010@gmail.com
6
Jose08052010@gmail.com
Figura 1.1.
7
Jose08052010@gmail.com
Esta ventana tiene tres pequeas ventanas que son: la Ventana Command (comando), la Ventana
Workspace; y la Ventana Command History. Esta es la vista por defecto de MatLab. Esas ventanas
son tres de las ocho ventanas diferentes siguientes:
Ventana
Command Window
Figure Window
Editor Window
Help Window
Launch Pad Window
Command History Window
Workspace Window
Current Directory Window
Propsito
Ventana principal, ingresa variables, corre programas
Contiene la salida de los comandos grficos
Crea y depura los archivos script y functin
Proporciona informacin de ayuda
Proporciona acceso a herramientas, demos y documentacin
Registra los comandos ingresados en el Command Window
Proporciona informacin acerca de las variables que se han usado
Muestra los archivos en el directorio actual
Tabla 1.1.
Ventanas de MatLab
Cuatro de las ventanas, el Command Window, Figure Window, Editor Window y Help Window, son
extensamente usadas a lo largo del presente Curso, y se describen brevemente a continuacin.
Command Window: es la ventana principal de MatLab y se abre cuando se inicia el programa. Es
conveniente tener el Command Window como la nica ventana visible, y esto se puede hacer
cerrando las otras ventanas clicando en la x del tope en el lado derecho de la ventana que se desea
cerrar, o desde la pestaa escritorio (desktop).
Figure Window:
esta ventana se abre automticamente cuando se ejecutan comandos de
grficos, y se obtienen los grficos creados por esos comandos. Un ejemplo es mostrado en la figura
1.2.
Grfico de la funcin y= x exp(1.4) cos(x)
40
30
20
eje y
10
0
-10
-20
-30
-40
-50
Figura 1.2:
8
eje x
10
12
14
16
Editor Window:
Esta ventana es utilizada para escribir y editar programas. Esta ventana es
abierta desde el men File en el Command Window. Ejemplo en la figura 1.3.
8
Jose08052010@gmail.com
Figura 1.3:
Help Window:
Esta ventana contiene la informacin de ayuda. Esta ventana puede ser
abierta desde el men Help en la barra de herramientas de cualquier ventana de MatLab. La ventana
Help es interactiva y puede ser utilizada para obtener informacin sobre cualquier funcin de
MatLab. La ventana help se ejemplifica en la figura 1.4:
Figura 1.4:
La ventana Help
Cuando MatLab es iniciado, la pantalla que aparecer ser la mostrada en la figura 1.1, y para
principiantes, probablemente sea conveniente cerrar las dems ventanas, excepto el Command
Window. Las ventanas cerradas se puede reabrir desde Desktop, como se indic antes.
9
Jose08052010@gmail.com
Figura 1.5:
La ventana Command
Multiplicacin
5*3
*
Divisin por la derecha
5/3
/
Divisin por la izquierda
5
\
3
=3/5
\
Exponenciacin
5^3 (significa 53=125)
^
Se puede puntualizar aqu que todos los smbolos excepto la divisin por la izquierda son las mismas
que en otros calculadores. Para escalares, la divisin por la izquierda es la inversa de la divisin por
la derecha. La divisin por la izquierda, sin embargo, es ms usada para operaciones con arreglos, lo
cual se discutir ms adelante.
3.1.
Orden de precedencia
MatLab ejecuta los clculos acorde al orden de precedencia siguiente. Este orden es el mismo que se
usa en otros clculos.
Precedencia
Operacin matemtica
Primero
Parntesis. Para parntesis anidado, los ms interiores son ejecutados primero
Segundo
Exponenciacin
Tercero
Multiplicacin, divisin (igual precedencia)
11
Jose08052010@gmail.com
Adicin y sustraccin
En una expresin que tiene varias operaciones, las operaciones de mayor precedencia son ejecutadas
primero que las operaciones de menor precedencia. Si dos o ms operaciones tienen la misma
precedencia, la expresin es ejecutada de izquierda a derecha
3.2. Utilizacin de MatLab como un calculador
La forma ms simple de usar MatLab es como un calculador. Esto se hace en el Command Window
al tipear la expresin matemtica y presiona la tecla Enter. MatLab calcula la expresin y responde
desplegando ans = y el resultado numrico de la expresin en la lnea siguiente. Esto lo seguiremos
en el tutorial 1.1
TUTORIAL 1.1:
>> 7+8/2
ans =
8/3 es ejecutado primero
11
>> (7+8)/2
ans =
7.5000
>> 4+5/3+2
ans =
7.6667
>> 5^3/2
5^3 es ejecutado primero, /2 es ejecutado despus
ans =
62.5000
>> 27^(1/3)+32^0.2
ans =
5
>> 27^1/3+32^0.2
ans =
11
>> 0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5)...
-(0.785)^7/(1*2*3*4*5*6*7)
Tipear tres puntos ( y presiona Enter ) para
continuar la expresin en la siguiente lnea
ans =
12
Jose08052010@gmail.com
>>
4. FORMATOS de VISUALIZACIN
El usuario de MatLab puede controlar el formato de salida en pantalla. En el tutorial 1.1 el formato
utilizado es de 4 dgitos despus del punto decimal (llamado short), el cual es el formato por defecto
para valores numricos. Una vez que el formato es ingresado, todas las salidas que siguen se
despliegan en el formato especificado. Varios de los formatos vlidos se listan a continuacin en la
tabla 1.2., MatLab tiene varios otros formatos para visualizar nmeros. Para obtener detalles de esos
formatos, se puede tipear help format en el Command Window. El formato en el cual son
visualizados no afecta cmo MatLab calcula y guarda nmeros.
Command
format short
format long
format short e
format long e
format short g
format long g
format bank
format
compact
format loose
Descripcin
Punto fijado con 4 dgitos decimales para
0.001 nmero 1000
Otra forma de desplegar el formato:
short e.
Punto fijado con 14 dgitos decimales para
0.001 nmero 100
Otra forma de desplegar el formato:
long e
Notacin cientfica con 4 dgitos decimales
Ejemplo
>>290/7
ans =
41.4286
>>290/7
ans =
41.42857142857143
>>290/7
ans =
4.1429e+001
Notacin cientfica con 15 dgitos decimales
>>290/7
ans =
4.142857142857143e+001
Mejor de 5 dgitos fijados o punto flotante
>>290/7
ans =
41.429
Mejor de 15 dgitos fijados o punto flotante
>>290/7
ans =
41.4285714285714
Dos dgitos decimales
>>290/7
ans =
41.43
Elimina lneas vacas para lograr ms lneas con informacin desplegada sobre la
pantalla
Agrega lneas vacas (opuesto de compact)
Tabla 1.2:
Formatos de visualizacin
13
Jose08052010@gmail.com
>> sqrt(64)
El argumento es un nmero
ans =
8
>> sqrt(50+14*3)
ans =
9.5917
El argumento incluye una funcin
>> sqrt(54+9*sqrt(100))
ans =
12
>> (15+600/4)/sqrt(121)
ans =
15
A continuacin se muestra una lista de funciones matemticas usadas comnmente en MatLab, sin
embargo, un lista de funciones organizada por nombre y categora puede ser encontrada en la
ventana Help.
Funcin
sqrt(x)
Descripcin
Raz cuadrada
Ejemplo
>>sqrt(81)
ans =
9
exp(x)
Exponencial (ex)
>>exp(5)
ans =
148.4132
abs(x)
Valor absoluto
>>abs(-24)
ans =
24
log(x)
Logaritmo natural
>>log(1000)
Logaritmo base e (ln)
ans =
6.9078
log10(x)
Logaritmo base 10
>>log10(1000)
ans =
3.0000
factorial(x) Funcin factorial x!
>>factorial(5)
(x puede ser un entero positivo) ans =
120
Tabla 1.3:
funciones matemticas elementales
CREACIN DE MATRICES
La matriz es una forma fundamental de que MatLab utiliza para almacenar y manipular datos. Una
matriz es una lista de nmeros dispuestos en filas y / o columnas. La matriz simple (unidimensional)
es una fila o una columna de nmeros. Una matriz ms compleja (bidimensional) es una coleccin de
14
Jose08052010@gmail.com
Facultad de Ingeniera Qumica y Metalrgica
nmeros dispuestos en filas y columnas. Un uso de matrices es para almacenar informacin y datos,
como en una tabla. En la ciencia y la ingeniera, las matrices de una dimensin a menudo representan
matrices. Aqu se muestra cmo crear y variedad de direcciones mientras que ms adelante se
muestra cmo utilizar matrices en operaciones matemticas. Adems de las matrices que estn
hechas de nmeros, matrices en Matlab tambin pueden estar hechas de una lista de caracteres, que
se llaman cadenas. Las cadenas se discuten en ms captulos por adelantado.
BIBLIOGRAFA:
Diseo estructurado de algoritmos, Diagramas de flujos y pseudocdigos. Hernndez, Mara
Lourdes. Universidad de Teuxtepe, Mxico. Marzo 2010.
Numerical Methods for Chemical Engineers using Excel, VBA and MatLab, Victor J. Law, ebooks
chemical engineering, 2013.
15
Jose08052010@gmail.com