Vous êtes sur la page 1sur 11

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

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

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

FUNDAMENTOS BSICOS DE 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 metodo para resolver un problema mediante una secuencia de instrucciones, cada una de las
cuales especifica las operaciones que debe realizar la computadora.
Caractersticas de un algoritmo
Las caracteristicas fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso e indicar el orden de realizacion de cada paso.
Debe estar definido. Si se sigue un algoritmo dos o mas veces, con los mismos valores
iniciales se debe obtener el mismo resultado.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algun momento, es decir, debe
tener un numero 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 codigos fuente a partir del mismo
algoritmo.
El proceso de un algoritmo
La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.
Entrada

Proceso

Salida

La informacin proporcionada al algoritmo constituye su entrada, el procedimiento para la solucin


del problema constituye su proceso y la informacin producida por el algoritmo constituye su
salida. A continuacin ejemplos para un mejor entendimiento:
Ejemplo 01: Leer la base y altura de un paralelogramo. Calcular su rea.
Datos de Entrada ---> base y altura. Proceso ---> rea = base x altura. Datos de Salida ---> El rea
del paralelogramo
Ejemplo 02: Leer el radio de una circunferencia. Calcular su rea y longitud.
Datos de Entrada Radio de una circunferencia. Proceso rea = r2 y Longitud = 2 r. Datos de
Salida El rea y longitud de una circunferencia.
(Sugerencia: revisar tema de algoritmos)

2
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

CONTENIDOS
I.
II.
III.
IV.

Fundamentos bsicos, lenguajes de programacin y lenguaje de programacin con MatLab


Estructuras de los ficheros, archivos, y comandos.
Programacin estructurada con MatLab
Aplicaciones del MatLab a los Procesos Qumicos e industriales

PRESENTACIN:
En lo que sigue, se supone que el usuario teclea lo que aparece en cursiva y precedido del smbolo
>>, que hace el papel del prompt de la mquina (de hecho, lo ptimo sera que el aprendiz de
MATLAB reprodujera stos y parecidos ejemplos por s mismo). En normal aparecer la respuesta
de MATLAB a la instruccin tecleada. Los comentarios aparecern precedidos del smbolo %.
Antes de comenzar, hagamos algunas consideraciones generales:
MATLAB distingue entre maysculas y minsculas.
La comilla ' es la que, en un teclado estndar, se encuentra en la tecla de la interrogacin.
Los comentarios deben ir precedidos por % o, lo que es lo mismo, MATLAB ignora todo lo que
vaya precedido por el smbolo %.
La ayuda de MATLAB es bastante til; para acceder a la misma basta teclear help o utilizar el men
del mismo nombre en la ventana de trabajo. Es recomendable usarlo para obtener una informacin
ms precisa sobre la sintaxis y diversas posibilidades de uso de los comandos. Al final de cada
seccin se presenta un EJERCICIO que el aprendiz debera realizar para poner a prueba los
conocimientos adquiridos.
1. Iniciando MatLab, ventanas MatLab
Suponemos que el software ya est instalado en la computadora (recomendable la ltima versin
r2014a), y que el programa puede ser utilizado. Una vez que inicia el programa, se abre la ventana
siguiente:

Figura 1.1.

La ventana por defecto del escritorio de MatLab.


3

Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

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

Ejemplo de una ventana de figura

4
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

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.

Figura 1.3:

Ejemplo de un Editor Window

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

5
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

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
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

NOTAS PARA EL TRABAJO EN LA VENTANA DE COMANDOS (Command Window):


Para tipear un comando el cursos debe estar ubicado junto al smbolo command (>>).
Una vez tipeado el comando en la misma lnea y presionada la tecla Enter, el comando es
ejecutado. Sin embargo, solamente el ltimo comando es ejecutado. Todo lo ejecutado
previamente queda sin cambios.
Varios comandos pueden ser tipeados en la misma lnea. Esto se hace escribiendo una coma
entre los comandos. Cuando la tecla Enter es presionada los comandos son ejecutados en
orden de izquierda a derecha.
No es posible regresar a una lnea previa en el Command Window, hacer una correccin, y
entonces re ejecutar el comando.
Un comando previamente tipeado puede ser recuperado en el prompt con el uso de la tecla
fecha arriba (). Cuando el comando es desplegado en el prompt, puede ser modificado si es
necesario y ejecutado. La fecha direccional hacia abajo () puede ser utilizada para mover
hacia abajo los comandos previamente tipeados.
6
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

Si el comando es largo para que quepa en una sola lnea, este puede ser continuado en la
siguiente lnea al tipear tres puntos suspensivos y presionar Enter. La continuacin de los
comandos es tipeado en la nueva lnea. El comando puede continuar lnea tras lnea hasta un
total de 4096 caracteres.
El punto y coma (;):
Cuando un comando es tipeado en la ventana Command y es presionado Enter, el comando es
ejecutado. Cualquier salida que el comando genera es desplegada en el Command Window. Si
un punto y coma (;) es tipeado al final de un comando la salida del comando no es mostrada. El
tipear un punto y coma es usual cuando el resultad es obvio o conocido, o cuando la salida es
muy larga.
Si varios comandos son tipeados en la misma lnea, la salida de alguno de los comando puede no
ser desplegada si el punto y coma es tipeado entre los comandos en vez de una coma.
Tipificando %:
Cuando el smbolo % (porcentaje) es tipeado al inicio de una lnea, la lnea est designado como
un comentario. Esto significa que cuando la tecla Enter es presionada la lnea no se ejecuta. EL
carcter % seguido por texto (comentario), puede ser tipeado despus del comando en la misma
lnea. Esto no tiene efecto sobre la ejecucin del comando.
Usualmente esto no es necesario para comentarios en la ventana Command. Los comentarios, sin
embargo, son frecuentemente usados en programas para agregar descripciones, o para explicar el
programa.
El comando clc:
El comando clc limpia la ventana Command (se tipea clc y se presiona Enter). Despus de
trabajar en la ventana Command para lo cual el despliegue puede ser muy extenso. Una vez que
el comando clc es ejecutado se ejecuta la limpieza de la ventana. Este comando no cambia nada
de lo previamente realizado. Por ejemplo, si algunas variables fueron definidas previamente,
ellas pueden seguir siendo usadas. La flecha direccional hacia arriba puede ser usada para
renombrar comandos que fueron previamente tipeados.
3. OPERACIONES ARITMTICAS CON ESCALARES
Aqu discutiremos solo operaciones aritmticas con escalares, los cuales son nmeros. Los nmeros
pueden ser usados directamente en clculos y operaciones aritmticas directamente (como un
calculador), o ellos pueden ser asignados a variables, las cuales pueden ser subsecuentemente usadas
en clculos. Los smbolos de operaciones aritmticas son:
Operacin
Smbolo
Ejemplo
Adicin
5+3
+
Sustraccin
53

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

7
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

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)
Cuarto
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

Utilizacin de MatLab como un calculador


Tipear y presionar Enter

ans =
8/3 es ejecutado primero
11
>> (7+8)/2
ans =

Tipear y presionar Enter


7+8 es ejecutado primero

7.5000
>> 4+5/3+2

5/3 se ejecuta primero

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 =

1/3 es ejecutado primero, 27^(1/3) y 32^0.2 son


ejecutados despus, y + es ejecutado al final.

5
>> 27^1/3+32^0.2
ans =

27^1 y 32^0.2 son ejecutados primero, /3 es


ejecutado despus, y + es ejecutado al final

11
8
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

>> 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 =
0.7071

La ltima expresin es de los primeros cuatro


trminos de las series de Taylor para sen (/4)

>>
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

5. CONSTRUCCIN MATEMTICA DE FUNCIONES ELEMENTALES


Agregando a las operaciones aritmticas bsicas, las expresiones en MatLab pueden incluir
funciones. MatLab tiene una muy extensa librera de funciones para construccin de funciones
matemticas. Una funcin tiene un nombre y un argumento entre parntesis. Por ejemplo, la funcin
que calcula la raz cuadrada de un nmero es sqrt ( x ). Su nombre es sqrt , y el argumento es x.
Cuando la funcin es utilizada, el argumento puede ser un nmero, una variable que ha sido asignada
9
Jose08052010@gmail.com
Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

a un valor numrico, o una expresin calculable que puede ser construida de nmeros y/o variables.
Las funciones pueden estar incluidas en argumentos, tanto como en expresiones. En el tutorial 1.2 se
muestran ejemplos del uso de la funcin sqrt ( x ) cuando MatLab es utilizado como un calculador
con escalares.
TUTORIAL 1.2:

Utilizacin de sqrt para construccin de funciones

>> sqrt(64)
El argumento es un nmero
ans =
8
>> sqrt(50+14*3)

El argumento es una expresin

ans =
9.5917
El argumento incluye una funcin

>> sqrt(54+9*sqrt(100))
ans =
12

La funcin est incluida en una expresin

>> (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
10
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

PROGRAMACIN EN COMPUTADORAS PLATAFORMA MATLAB

Ing. Jos S. Orbegoso L.

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
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.

11
Jose08052010@gmail.com

Facultad de Ingeniera Qumica y Metalrgica

Vous aimerez peut-être aussi