GUA N 1
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.
Ventajas y desventajas:
3
Jose08052010@gmail.com
5
Jose08052010@gmail.com
6
Jose08052010@gmail.com
Figura 1.1.
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:
7
Jose08052010@gmail.com
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.
2. TRABAJANDO EN LA VENTANA COMMAND
9
Jose08052010@gmail.com
El Command Window es la principal ventana de MatLab, y puede ser utilizada para ejecutar
comandos, abrir otras ventanas, correr programas escritos por el usuario, y gestionar el software. Un
ejemplo del Command Window con varios comandos simples, que ser explicar ms adelante, es
mostrado en la figura 1.5.
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 =
11
>> (7+8)/2
ans =
7.5000
>> 4+5/3+2
ans =
5/3 se ejecuta
primero
7.6667
>> 5^3/2
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
TUTORIAL 1.2:
>> sqrt(64)
El argumento es un nmero
ans =
8
>> sqrt(50+14*3)
ans =
9.5917
>> 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)
exp(x)
abs(x)
log(x)
log10(x)
factorial(x)
Descripcin
Raz cuadrada
Ejemplo
>>sqrt(81)
ans =
9
x
Exponencial (e )
>>exp(5)
ans =
148.4132
Valor absoluto
>>abs(-24)
ans =
24
Logaritmo natural
>>log(1000)
Logaritmo base e (ln)
ans =
6.9078
Logaritmo base 10
>>log10(1000)
ans =
3.0000
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)
14
Jose08052010@gmail.com
Facultad de Ingeniera Qumica y Metalrgica
15
Jose08052010@gmail.com