You are on page 1of 30

Mdulo 1

Entorno MATLAB y funciones


incorporadas.
MATLAB es un pseudo-lenguaje de programacin usado para realizar grandes
cantidades de clculos numricos, visualizar grficas, analizar datos y crear
algoritmos que implican la seleccin de acciones entre alternativas
predeterminadas por el usuario. Estos atributos hacen de este software una
herramienta muy til para el ingeniero qumico a la hora de abordar
procedimientos iterativos y/o que requieren soluciones numricas con mediana
precisin, sin necesidad de aprender otro lenguaje de programacin como C++ o
FORTRAN.
MATLAB es un lenguaje de alto nivel, lo que quiere decir que sus
sentencias son escritas similarmente como se hara en ingls ordinario.
Generalmente, en las escuelas de ingeniera se usa MATLAB porque
ste brinda un ambiente amigable de interaccin, adems de su poderosa
habilidad para manejar los datos en matrices sin igual, y posee un amplio
abanico de funciones usadas en las reas de la ciencia e ingeniera.
Cabe destacar que MATLAB no se concibe como un lenguaje de
programacin porque
carece de algunos elementos o caractersticas
importantes para una buena prctica de la programacin, sobre todo en la
creacin de los objetos en el denominado paradigma de programacin
orientado a objetos; por lo que el autor de este texto opt por llamar a
MATLAB pseudo-lenguaje.

Entorno MATLAB y funciones incorporadas

1.1 Ventanas de MATLAB


Al iniciar MATLAB 2014-a, las cuatro ventanas por defecto que aparecen a la
vista son: command window (ventana de comandos), current folder (carpeta
actual), command history (registro de comandos) y workspace (rea de
trabajo). En la figura 1.1 se pueden apreciar las ventanas por defecto.

Prompt

Figura 1.1 Ventana de apertura de MATLAB

1.1.1 Ventana de comandos


La ventana de comandos se ubica en la parte central de la ventana por defecto
y esta nos permite realizar clculos en ella con una sintaxis (escritura) simple
como la de las calculadoras ordinarias, salvo algunas diferencias. Cuando El
prompt (>>) aparece en el command Window, MATLAB est listo para ejecutar
las instrucciones que deseemos. Para empezar a usar MATLAB como una
calculadora, simplemente escribimos la operacin que queramos, por ejemplo:
cos(pi)
Debe regresar
Ans=
-1
2

MATLAB desde cero


La jerarqua de las operaciones que emplea MATLAB es la
estandarizada, es decir, ejecuta los clculos de izquierda a derecha, realizando
primero las operaciones de multiplicacin y divisin, tambin se tiene prioridad
aquellas que se encuentran dentro de parntesis, logaritmos, exponentes, y por
ltimo, realiza las sumas y restas. Por ejemplo:
5+3*5-(2^2+5)/3^2-5
Regresar:
Ans=
14
La forma en que se realiz el clculo fue de izquierda a derecha. Antes
del 5 ser sumado, se multiplic 3 con 5, operacin que hasta este punto lleva 20;
luego, la operacin dentro del parntesis tiene como prioridad elevar 2 a la
segunda potencia, lo que arroja un 4 qu sumado con 5 da 9; ahora este 9 es
dividido por 3^2 y solo esta seccin de la operacin tiene como resultado 1, que
restado del 20 obtenido anteriormente, obtenemos un valor de 19. Por ltimo,
restamos el 5, terminando as la operacin aritmtica que tiene como
respuesta 14.
Podemos borrar lo escrito en la ventana de comandos usando el comando
clc.
Una vez que nos hemos equivocado al ingresar un clculo numrico, no
podremos corregirlo en la lnea escrita, pero podemos usar las teclas y para
desplazarnos a travs de los comandos ejecutados.

1.1.2 Folder actual


El folder actual nos muestra la lista de los documentos y archivos guardados.
Es en esta carpeta donde se van a guardar los trabajos que vayamos
realizando. Esta puede ser cambiada por el usuario cuando lo desee a travs del
navegador de carpetas que se encuentra por encima de esta, y que cita la ruta
del folder actual.

1.1.3 Registro de comandos


As como su nombre lo indica, esta ventana registra todos los comandos que se
van ejecutando en la ventana de comandos, seccionndolos en grupos separados
por la fecha en la que se realizan.
3

Entorno MATLAB y funciones incorporadas

1.1.4 rea de trabajo


Esta ventana lista las variables que vamos definiendo cuando ejecutamos
comandos en la ventana de comandos. Si el lector ha estado desarrollando los
ejemplos, el rea de trabajo debe llevar cuenta de una sola variable, ans, que
tiene un valor de 14, un tamao matricial 1x1, y valores mximos y mnimos de
14 cada uno.

Figura 1.2 ventana de rea de trabajo.

La forma de declarar variables en MATLAB es haciendo uso del operador


asignacin (=). Por ejemplo, creamos una variable G con valor de 9.8 al
escribir:
G=9.8
Lo que regresa:
G=
9.8000
Observe que la variable G fue agregada a la lista de variables en el rea
de trabajo.

Las variables en el rea de trabajo se ordenan alfabticamente.

MATLAB desde cero


Ms adelante se estudiar en ms detalle como ingresar matrices; por lo
pronto podemos escribirlas como sigue
A=[1,2,3,4]
Lo que regresar
A=
1 2 3 4
Podemos ingresar una matriz bidimensional separando las filas con punto
y coma como sigue:
B=[1 2 3 4; 5 6 7 8]
Lo que regresar:
B=
1 2 3 4
5 6 7 8
En esta ltima forma de ingresar matrices, se nota que el uso de las comas
para separar los elementos de una fila no es necesario. En este punto, el rea
de trabajo debe lucir de la siguiente forma:

Hasta ahora las nicas variables que se han ingresado son numricas,
pero posteriormente veremos que MATLAB acepta tambin otros tipos de
variables de gran importancia.
Cuando se describi la ventana de comandos, se explic el uso del
comando clc. Este comando limpia la ventana de comandos, pero de ninguna
forma elimina las variables que han sido declaradas. Si deseamos eliminar las
variables definidas usamos el comando clear.

Entorno MATLAB y funciones incorporadas

1.1.6 Ventana de edicin


La ventana de edicin se puede abrir en el icono New script que se encuentra
en la barra de herramientas. Esta ventana permite escribir y guardar
comandos sin ejecutarlos, y si queremos ejecutarlos solo damos clic en el icono
Run que se encuentra en la pestaa EDITOR de la barra de herramientas.
Esta forma de programar es ms usual y cmoda que escribir el cdigo
directamente en la ventana de comandos; adems, el cdigo es guardado en el
folder actual al mismo momento que es ejecutado de este modo.

1.2

Resolucin de problemas

Como es sabido, la ventana de edicin es una poderosa herramienta de clculo,


pero para hacer buen eso de esta, es necesario saber un poco ms de cmo
funciona MATLAB.

1.2.1 Uso de variables


Para nombrar variables basta con tener en cuenta los siguientes aspectos:

Todos los nombres deben comenzar con una letra.


Los nicos caracteres que se permiten son letras, nmeros y guin bajo.
MATLAB diferencia mayscula y minscula.
MATLAB se reserva un conjunto de nombres que no pueden ser usados
como variables. Las lista de estos la puede obtener usando el comando
iskeyword.

1.2.2 Operaciones escalares


Como es de esperar MATLAB opera dos nmeros similarmente a como se hace
en una calculadora, pero tambin podemos ir guardando estos resultados en
una variable, por ejemplo:
A=4+5

MATLAB desde cero


Regresar
A=
9
Y si miramos en el rea de trabajo notaremos que la variable tiene el
valor resultado de la operacin. Adems MATLAB tambin admite las
operaciones con el uso de las variables guardadas, as, si continuamos
escribiendo los siguientes comandos:
B=1
C=A+B
Regresar:
C=
10
Algo importante para resaltar, es que el operador asignacin (=) es
diferente de una igualdad. Por ejemplo, si primero asignamos a la variable x un
valor de 3:
x=3
Y escribimos despus:
x=x+5
La consola mostrar:
x=
8
Ntese que la expresin x=x+5 no es una expresin matemtica valida,
pero al ingresarla en MATLAB, este interpreta que el nuevo valor de x es el
anterior que tena ms 5. Adems, en cualquier momento podemos cambiar el
valor de una variable reasignndole otro valor; de esta forma, si escribimos:
x=10
La variable x pierde el valor de 8 que tena y ahora observamos en el
workspace que asume uno de 10.

Entorno MATLAB y funciones incorporadas


Ejemplo de Aplicacin 1.1
Escriba un programa para calcular la fuerza elctrica de repulsin entre
dos cargas que tienen magnitud de 10 C y 5 C, y que se encuentran a 50
cm de distancia, usando la ley de coulomb:
|
Donde

||

Solucin
La resolucin del ejercicio se muestra en la figura 1.3 donde el cdigo
ha sido escrito y ejecutado en la ventana de edicin.
Cuando corremos el programa, MATLAB da un nombre por defecto al
archivo que es guardado en el folder actual cuando damos aceptar en el
cuadro de dilogo que se despliega.
En la resolucin del ejercicio saltan unas caractersticas importantes:

La primera lnea del programa clear,clc protege al usuario de usar


variables que han sido definidas en otros scripts y nos proporciona un
ambiente de trabajo totalmente nuevo.

Se us del operador % para introducir comentarios. En una lnea,


cualquier escritura antecedida de un % no ejecutar cdigo alguno y
ser resaltado en color verde. Una buena prctica de programacin
sugiere el uso de comentarios para hacer el cdigo ms legible a la
hora de que otros usuarios necesiten leer nuestro trabajo.

La ventana de edicin est acoplada a la ventana de MATLAB. Esto lo


logramos pulsando control+shift+D estando activa la ventana, y
podemos desacoplarla con el atajo control+shift+U. Esto se puede
hacer con cualquier ventana.

Los resultados fueron desplegados en la ventana de comandos y


podemos verlos usando la barra de desplazamiento en esta.

El registro de comandos no lleva cuenta de los comandos ejecutados


sino que solo nos muestra el nombre del archivo.

MATLAB desde cero

Figura 1.3 Ejemplo de aplicacin 1.1

1.2.3 Operaciones con arreglos


La forma ms simple de crear una matriz en MATLAB es haciendo una lista
explicita de los valores que pertenecen a esta, separados por comas o un espacio
y dentro de parntesis angulares (corchetes), por ejemplo:
A=[1 2 3 4]
Crear un vector fila. Se sabe tambin que las filas se separan con un punto y
coma, as si queremos crear un vector columna podramos escribir por ejemplo:
B=[1;2;3;4]
Y una matriz que tiene tanto filas como columnas podramos escribirla como
C=[1 2 3 4; 5 6 7 8; 9 10 11 12]
O tambin de la siguiente manera ms cmoda
C=[1 2 3 4
5678
9 10 11 12]

Entorno MATLAB y funciones incorporadas


Cuando a una matriz le sumamos (o restamos) un escalar, este ltimo es
sumado (o restado) a cada elemento de la matriz, por ejemplo:
D=C+5
Mostrar en la consola:
D=
6 7 8 9
10 11 12 13
14 15 16 17
De la misma forma pasa con la multiplicacin por escalar:
E=5*D
Regresar:
E=
5 10 15 20
25 30 35 40
45 50 55 60
Para hacer sumas y restas entre matrices se tiene que cumplir que
estas tengan las mismas dimensiones, por ejemplo:
D+E
Nos arrojar:
ans=
11 17 23 29
35 41 47 53
59 65 71 77
S las matrices no tienen las mismas dimensiones, entonces MATLAB
nos mostrar un mensaje de error (excepto si una de las dos es un escalar).
El enfoque para la multiplicacin y la divisin es un tanto diferente; de
esta forma, si queremos multiplicar (o dividir) la matriz C por la matriz D
elemento a elemento, usamos la multiplicacin punto .* (o la divisin punto
./), por ejemplo:
C.*D
10

MATLAB desde cero


Mostrar en la consola:
ans =
6 14 24 36
50 66 84 104
126 150 176 204
Y tambin:
C./D
Devolver:
ans =
0.1667
0.5000
0.6429

0.2857
0.5455
0.6667

0.3750
0.5833
0.6875

0.4444
0.6154
0.7059

El mismo enfoque aplicara para la exponenciacin:


C.^2
ans =
1
4
9 16
25 36 49 64
81 100 121 144
La razn del uso del punto se debe a que una multiplicacin matricial como la
define la matemtica es diferente de una multiplicacin elemento a elemento, y
para esta se reserva el uso del operador estrella (*); tambin lo mismo para la
exponenciacin.
Para ingresar matrices generalmente hay que hacerlo manualmente,
pero en el caso de aquellas que tienen intervalos regulares este trabajo es ms
sencillo. El comando:
A=1:5
Regresa una matriz fila
A=
1

5
11

Entorno MATLAB y funciones incorporadas

El incremento predeterminado es 1, pero si queremos cambiarlo, lo


indicamos entre el primer y ltimo valor, haciendo las separaciones por dos
puntos (:), as:
B=0:2:10
Regresar:
B=
0

10

Si deseamos que MATLAB calcule el espaciamiento entre los elementos,


usamos el comando linspace. Especificamos el valor inicial, el valor final y
cuntos valores queremos en total. Por ejemplo:
linspace(2,10,5)
Crear un vector con 5 elementos igualmente espaciados, valor inicial de 2 y
valor final de 10. El resultado del comando anterior es:
ans =
2

10

Otro operador importante es el operador transposicin ('), que en una matriz


convierte las filas en columnas, y las columnas en filas. Por ejemplo fjese a
continuacin:
x=1:5
x'
ans =
1
2
3
4
5
y=[1:3;12:2:16]
12

MATLAB desde cero

y'
ans =
1
2
3

12
14
16

Si queremos suprimir los resultados de los comandos que se van


ingresando, usamos el comando punto y coma (;). por ejemplo:
B=[1:5;7:11];
No desplegar ninguna salida en pantalla. Pero si queremos ver los
valores de la matriz, podemos ir al workspace y dar doble clic sobre el smbolo
amarillo que se encuentra antes del nombre de la variable, e inmediatamente
se abrir un Variable editor, que nos mostrar la informacin:

Figura 1.4 Variable editor

13

Entorno MATLAB y funciones incorporadas

En MATLAB tambin podemos crear tablas muy fcilmente. Por ejemplo, si


quisiramos una tabla de conversin que tuviera en la primera columna valores
en centmetros del 1 al 10, en la segunda sus correspondientes equivalencias en
pulgadas, y una tercera con las correspondientes equivalencias en pies,
podemos hacerlo como se muestra a continuacin:
Cm=1:10;
inch=Cm/2.54;
feet=inch/12;
Tabla=[Cm' inch' feet']
Tabla =
1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
7.0000
8.0000
9.0000
10.0000

0.3937
0.7874
1.1811
1.5748
1.9685
2.3622
2.7559
3.1496
3.5433
3.9370

0.0328
0.0656
0.0984
0.1312
0.1640
0.1969
0.2297
0.2625
0.2953
0.3281

Ntese que en las lneas donde se definieron los tres vectores,


finalizamos cada sentencia con un punto y coma para evitar que sus resultados
se desplieguen en la consola. Tambin dese cuenta que creamos la tabla usando
el operador transposicin porque los arreglos que habamos definido ( Cm, inch
y feet) eran vectores fila mientras que en la tabla se muestran como columnas.
Por ltimo, no vaya a pensar el lector que se us una funcin llamada Tabla
para organizar los datos de esta manera, porque en realidad, no es ms que un
nombre arbitrario con la que se defini una variable que guarda los valores de
la matriz que fue creada, como lo puede confirmar al hacer una breve
inspeccin en el workspace:

14

MATLAB desde cero


Ahora, si por ejemplo queremos hacer un pequeo programa para calcular el
volumen de tres cilindros usando la frmula
, con alturas de 2,5,8 y
radios de 2,4,6 en centmetros respectivamente, abrimos un script que
nombraremos
ms tarde volmenes, escribimos las sentencias y lo
ejecutamos, tal como se ven en la figura 1.5 donde tambin observamos el
resultado en el command window.

Figura 1.5 Muestra de clculo de volmenes de varios cilindros.

Ya que en la lnea tres y cuatro agregamos punto y coma al final de los


comandos, las salidas que estos generan en el command window fueron
suprimidas; Por otro lado, las lneas cinco y seis s despliegan salidas de
pantalla. Ntese en la lnea cinco el uso que se hizo del operador (*), del
operador punto estrella (.*), y del operador punto exponente (.^) para resolver
el problema. Como pi es un simple escalar el uso del punto es irrelevante, pero
en el caso de elevar al cuadrado el vector que denominamos Radio se necesit el
uso del operador .^ y luego .* para multiplicar los valores del radio al cuadrado
con las alturas respectivas en cada cilindro; el resultado lo podemos ver en el
command window con el nombre de volumen. Preste especial atencin a la
lnea 6; lo primero que se hizo fue convertir los vectores filas en vectores
columnas con el uso del operador transposicin ('), y luego se cre una matriz
utilizando como primer elemento la columna que posee los valores de la altura,
de segundo elemento la columna de radios y de tercer elemento la columna de
volmenes, todo esto dentro de corchetes (parntesis angulares); las comas
pueden ser reemplazadas por espacios en blanco.

15

Entorno MATLAB y funciones incorporadas

1.3 Funciones incorporadas.


Una de las caractersticas ms sobresalientes de MATLAB es la amplia gama
de funciones incorporadas que posee.
Podemos decir que toda funcin se conforma de tres partes: un nombre,
una entrada (o argumento) y una salida. Por ejemplo, si queremos calcular el
seno de un ngulo de 1.5 radianes, escribimos:
x=sin(1.5)
x=
0.9975
En este ejemplo el nombre de la funcin en cuestin es sin, la entrada es
1.5, y a la salida se le ha dado el nombre de x.
Todas las funciones matemticas elementales admiten matrices como
entradas salvo contados casos. Si queremos calcular la raz cuadrada de varios
nmeros podramos escribir, por ejemplo:
y=[2 6 5 3];
x=sqrt(y)
Que nos regresa:
x=
1.4142

2.4495

2.2361

1.7321

Las funciones tambin pueden tener ms de un valor de entrada y/o ms


de un valor de salida; as por ejemplo, la funcin polyval, evala un polinomio
proporcionado por el usuario, a partir de un vector que contiene los coeficientes
de este, ordenado de mayor a menor exponente. Por ejemplo, si queremos
evaluar el polinomio
en el punto x=3, podemos hacerlo as:
x=3;
c=[2 3 0 5 0];
y=polyval(c,x)
y=
258
Note que los argumentos de entrada solo fueron dos (c y x).
16

MATLAB desde cero

Un ejemplo de funciones que tienen mltiples salidas es la funcin size,


que calcula las dimensiones de una matriz; por ejemplo, si escribimos:
A=[1 2 3 4; 2 5 3 9];
[a,b]=size(A)
a=
2
b=
4
Fjese que las dos salidas, a y b, son las filas y las columnas de la
matriz. Ahora como contraste el lector debe notar la diferencia entre el anterior
ejemplo, y el ejemplo de esta sesin en que se calcul la raz de un vector. En el
ejemplo ms reciente efectivamente hubo ms de una salida, sin embargo
cuando se calcul la raz del vector, la nica salida que se obtuvo fue otro vector.
A continuacin se da un listado de funciones bastante tiles.
Funcin
abs(x)

sqrt(x)

exp(x)
log(x)
log10(x)

Descripcin
Ejemplo
Valor absoluto de los x=[-1 2 -3];
elementos de la matriz abs(x)
x.
ans =
1 2 3
Raz cuadrada de x.
x=[9 16 25];
sqrt(x)
ans =
3 4 5
Euler elevado a la x ( . exp(5)
ans =
148.4132
Logaritmo natural de x log(5)
(
, no confundir con ans =
logaritmo en base 10).
1.6094
logaritmo en base 10 de log10(5)
x.
ans =
0.6990

Tabla 1.1 Funciones usuales.

17

Entorno MATLAB y funciones incorporadas


round(x)
fix(x)
floor(x)
ceil(x)
sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
sind(x)
asind(x)

roots(x)

Redondea x al entero round(9.7)


ms cercano.
ans =
10
Redondea x al entero fix(9.7)
ms cercano a 0.
ans =
9
Redondea x al entero floor(-9.7)
menor.
ans =
-10
Redondea x al entero floor(-9.7)
mayor.
ans =
-9
Seno de x (en radianes). sin(0)
ans =
0
Coseno
de
x
(en cos(pi)
radianes).
ans =
-1
Tangente de x (en tan(0)
radianes).
ans =
0
Arcseno de x (devuelve asin(1)
la
respuesta
en ans =
radianes).
1.5708
Arcoseno de x (devuelve acos(1)
la
respuesta
en ans =
radianes).
0
Arctangente
de
x atan(1)
(devuelve la respuesta ans =
en radianes).
0.7854
Seno de x (en grados sind(90)
sexagesimales).
ans =
1
Seno inverso de x asin(1)
(devuelve la respuesta ans =
en
ngulos
1.5708
sexagesimales)
Calcula
un
vector x=[1 -2 -13 14 24];
columna que tiene las roots(x)
races de un polinomio a ans =
partir de un vector x que
4.0000
posee los coeficientes
-3.0000
ordenados de mayor a
2.0000
menor potencia.
-1.0000
18

MATLAB desde cero


poly(x)

max(x)

[a,b]=max(x)

max(x,y)

min(x)

Calcula un vector que


contiene los coeficientes
de
un
polinomio
ordenado de mayor a
menor potencia a partir
de un vector x que posee
sus races.
Calcula el valor mximo
en un vector x.

x=[-1 -3 4 2];
poly(x)
ans =
1 -2 -13

Calcula un vector fila


que contiene los valores
mximos
de
cada
columna de una matriz
x.
Encuentra
el
valor
mximo en un vector x
y su ubicacin en ste,
donde el valor de a es el
mximo, y b su posicin
en el vector.

x=[1 7 4 9; 3 5 7 8];
max(x)
ans =
3 7 7 9

Construye un vector fila


a con los valores
mximo
de
cada
columna y un vector b
que contiene la posicin
de dicho mximo en la
columna
correspondiente.

x=[1 7 4 9; 3 5 7 8];
[a,b]=max(x)
a=
3 7 7 9
b=
2 1 2 1

Crea una matriz de


igual dimensin que x e
y, en la que cada
elemento es el mayor de
cada
posicin
correspondiente en la
matriz.

x=[1 7 4 9;3 5 7 8];


y=[2 5 3 1;2 5 3 8];
max(x,y)

24

x=[-1 -3 4 2];
max(x)
ans =
4

x=[-1 -3 4 2];
[a,b]=max(x)
a=
4
b=
3

ans =

2 7
3 5
Se
comporta
como Aplique
max(x), pero para hallar casos que
mnimos.
max(x).
19

14

4 9
7 8
los
mismos
en la funcin

Entorno MATLAB y funciones incorporadas

mean(x)

sum(x)

prod(x)

sort(x)

Calcula
el
valor x=[3 6 7];
promedio de un vector x. mean(x)
ans =
5.3333
Crea un vector fila a
partir de una matriz x
que contiene el valor
promedio
de
cada
columna de la matriz.
Suma los elementos de
un vector x.

x=[3 6 7; 7 2 5];
mean(x)
ans =
5 4 6

Crea un vector fila a


partir de una matriz x
que contiene la suma de
los elementos de cada
columna de la matriz.
Calcula el producto de
los elementos de un
vector x.

x=[3 6 7; 7 2 5];
sum(x)
ans =
10 8 12

Crea un vector fila a


partir de una matriz x
que contiene la suma de
los elementos de cada
columna de la matriz.
Ordena los valores de un
vector x de forma
ascendente.

x=[3 6 7; 7 2 5];
prod(x)
ans =
21 12 35

x=[3 6 7];
sum(x)
ans =
16

x=[3 6 7];
prod(x)
ans =
126

x=[2 7 5];
sort(x)
ans =
2 5 7

Ordena los valores de x=[8 3 5; 2 4 3];


cada columna en una >> sort(x)
matriz
de
forma ans =
ascendente.
2 3 3
8 4 5

20

MATLAB desde cero


sort(x, 'descend')

sortrows(x,n)

size(x)

[a,b]=size(x)

length(x)

std(x)

Ordena los valores de un x=[2 7 5];


vector x de forma sort(x,'descend')
descendente.
ans =
7 5 2
Ordena los valores de x=[8 3 5; 2 4 3];
cada columna en una sort(x,'descend')
matriz
de
forma ans =
descendente.
8 4 5
2 3 3
Ordena las filas de una x=[1 4 5;
matriz sobre la base de
6 3 7;
la columna n.
3 6 4];
sortrows(x,3)
ans =
3 6 4
1 4 5
6 3 7
Determina el nmero de x=[8 3 5; 2 4 3];
filas y columnas de en la size(x)
matriz x.
ans =
2 3
Determina el nmero de x=[8 3 5; 2 4 3];
filas y columnas de en la >> [a,b]=size(x)
matriz x y guarda estos a =
valores en las variables
2
a y b respectivamente.
b=
3
Calcula
la
mayor x=[8 3 5; 2 4 3];
dimensin
de
una length(x)
matriz.
ans =
3
Desviacin estndar de x=[2 7 5];
los valores de un vector. std(x)
ans =
2.5166
Vector de desviacin x=[1 4 5; 6 3 7; 3 6 4];
estndar de los valores std(x)
en las columnas de una ans =
matriz.
2.5166 1.5275 1.5275

21

Entorno MATLAB y funciones incorporadas


var(x)

rand(n)

rand(m,n)

linspace(a,b,c)

plot(x,y)

xlabel(S)
ylabel(S)
title(S)
hold on
disp(S)

Varianza de los valores x=[2 7 5];


de un vector.
var(x)
ans =
6.3333
Vector de varianza de x=[1 4 5; 6 3 7; 3 6 4];
los
valores
en
las >> var(x)
columnas de una matriz. ans =
6.3333 2.3333 2.3333
Crea una matriz nxn con rand(2)
valores aleatorios entre ans =
0 y 1.
0.0971 0.6948
0.8235 0.3171
Crea una matriz mxn rand(3,2)
con valores aleatorios ans =
entre 0 y 1.
0.9502 0.3816
0.0344 0.7655
0.4387 0.7952
Genera un vector con linspace(2,11,4)
valores desde a hasta b, ans =
con
c
elementos
2 5 8 11
igualmente espaciados.
Genera una grfica de x=0:0.01:2*pi;
parejas ordenadas con y=cos(x);
elementos de posiciones plot(x,y)
correspondientes de los
vectores x e y.
Genera una etiqueta con xlabel('eje x')
la frase S en una figura
en el eje horizontal.
Genera una etiqueta con ylabel('eje y')
la frase S en una figura
en el eje vertical.
Genera un ttulo con la title('y vs x')
frase S en una figura.
Permite plasmar ms de hold on
una curva en una misma
figura.
Genera una salida del texto='Hola mundo';
texto S en el command disp(texto)
window, donde este debe
estar
dentro
de (regresar en pantalla)
apostrofes.
Hola mundo

Tabla 1.1 Funciones usuales (fin de la tabla).

22

MATLAB desde cero

Ejemplo de aplicacin 1.2


El comportamiento de una variable fsica que se caracteriza por tener
una respuesta oscilatoria subamortiguada ante una perturbacin en
su estado estacionario, en algunos casos queda totalmente descrito en
el tiempo de transicin por la expresin:

Dnde:
Variable perturbada.
Tiempo (s).
Amplitud de oscilacin.
Constante de tiempo (s).
Velocidad angular (rad/s).
Angulo de fase (rad).
Cree un script que se llame sistema_subamortiguado en el
que calcule la variable perturbada
para 2 valores de . Tome 1000
valores de tiempo igualmente espaciados desde 0 hasta 100 segundos y
grafique en una misma figura su respuesta usando los comandos plot
y hold on.
rad
20s
No olvide poner etiquetas a la figura y usar comentarios
significativos en el cdigo.
Solucin
El programa lo podemos observar en la figura 1.6, donde en la
lnea 13, dentro del comando plot se ha colocado un tercer argumento
dentro de apostrofes para cambiar el color de la segunda curva.
La figura desplegada se observa en la figura 1.7.
23

Entorno MATLAB y funciones incorporadas

Figura 1.6 Solucin al ejemplo de aplicacin 1.2.

Figura 1.7 figura generada por el cdigo de la figura 1.6.

24

MATLAB desde cero


Ejemplo de aplicacin 1.3
La presin de vapor de una especie qumica a una temperatura est
dada por la ecuacin de Antoine:

Dnde:
= constantes de Antoine
Presin de saturacin en kpa
Temperatura en C
Se presentan valores de las constantes de Antoine en la tabla 1.2
para tres sustancias diferentes.

Etanol
Etilenglicol
Metanol
Tabla 1.2 Constantes de Antoine para tres sustancias.

Cree un script llamado Tabla_de_vapor que genere una tabla


que contenga las presiones de vapor de los tres compuestos en un
intervalo de temperatura de 100 a 200C, con saltos de a 10, y cuya
primera columna sea la temperatura.
Luego cree otra tabla que contenga el
en el mismo
intervalo de temperatura usando la siguiente relacin:

Use la funcin disp para crear encabezados en el despliegue de ambas


tablas.
Solucin
La figura 1.8 muestra la solucin al problema.
25

Entorno MATLAB y funciones incorporadas

Figura 1.8 Ejemplo de aplicacin 1.3

Figura 1.9 Despliegue de resultados en el command window del cdigo de la figura 1.7

26

MATLAB desde cero

EJERCICIOS PROPUESTOS
1. La ecuacin de estado de un gas ideal se muestra a continuacin:

Cree un vector que contiene valores de presin entre 5 y 10 atmsferas con


saltos de 1 y calcule los volmenes molares para este rango de presin a una
temperatura de 600 K. Realice una tabla que contenga los valores de presin y
de volumen.

2. El calor que se transfiere a travs de una pared est dada por la ecuacin:

Dnde:
= Coeficiente de conduccin
);
rea de la pared
Diferencia de temperatura en las superficies de la pared
Espesor de la pared
La siguiente tabla muestra los valores para el rea y la longitud de 9 paredes.
1
60.0
0.8

2
73.0
1.7

3
55.0
2.5

4
47.0
1.3

5
78.0
0.5

6
36.0
2.0

7
60.0
3.0

8
20.0
2.7

9
49.0
1.5

La correspondencia del rea de la pared con su espesor no est dada por la


tabla anterior, sino que a mayor rea de pared, mayor longitud tambin; de
esta forma, la pared de mayor espesor tiene el rea mayor, y la de menor
espesor tiene el rea menor, as que deber ordenar la informacin usando el
comando sort.
Calcule un vector que guarde el valor del calor transferido a travs de cada
pared y cree una tabla que en su primera, segunda y tercera columna tenga los
valores de rea, longitud y calor de cada pared respectivamente, ordenada de
menor a mayor magnitud de transferencia de calor. Use la funcin sortrows
para la esta tabla.
= 15

=20K

27

Entorno MATLAB y funciones incorporadas

3. El comportamiento de un gas real est descrito por:

Donde el factor de compresibilidad


est dado para bajas presiones por la
ecuacin del virial truncada hasta su segundo coeficiente:

Y adems el segundo coeficiente


correlaciones Pitzer:

lo podemos calcular a travs de las

=Temperatura y presin crtica del gas


=Temperatura y presin reducida en el estado del gas
Factor acntrico de Pitzer

Para el ter dietlico se conocen los siguientes datos:


(K)
466.7

(bar)
36.4 0.281

a) Calcular el volumen molar de ter dietlico para 20


temperaturas
igualmente espaciadas entre el rango de 600 y 800 K a una presin de 1 bar.
Construya una tabla cuya primera columna sea la temperatura, la segunda sea
el segundo coeficiente del virial, la tercera el factor de compresibilidad y la
cuarta el volumen molar. Use la funcin disp para crearle un encabezado a esta
tabla.
b) Construya grficas en diferentes scripts para el segundo coeficiente del
virial, el factor de compresibilidad y el volumen molar del ter dietlico para
temperaturas entre 100 y 800 K y una presin de 2 bar.

28

MATLAB desde cero


4. Cuando se conoce la composicin y la temperatura de una solucin binaria
lquida no ideal, en equilibrio con su vapor, la presin del sistema (presin de
burbuja) se puede calcular haciendo uso de la ley de Raoult modificada:

Donde
y
son los coeficientes de actividad de los componente 1 y 2
respectivamente, y se pueden expresar mediante la ecuacin NRTL (Non
Random Two Liquid).
[

Donde ,
particular.

) +

) +

, son parmetros especficos para un par de especies en

y
son las presiones de vapor de los componentes 1 y 2 respectivamente
y estn dadas por la ecuacin de Antoine:

Se conocen los siguientes datos para la mezcla 1-propanol (1) y agua (2)
(cal/mol) (cal/mol)
0.5081 500.40
1636.57
Las constantes de Antoine para las sustancias son:
1-propanol
Agua

(1)
(2)

16.1154
16.3872

3483.67
3885.70

29

205.807
230.170

Entorno MATLAB y funciones incorporadas


A partir de la informacin anterior, para un rango de temperatura entre 20 y
100 C con saltos de 8C y fracciones molares
y
:
a) La presin total del sistema.
b) La composicin de la fase vapor usando la ley de Raoult modificada.

c) Tabule y grafique los coeficientes de actividad en funcin de la temperatura.


Etiquete su figura.

30

You might also like