You are on page 1of 32

MATLAB PARA INGENIEROS

QUÍMICOS
CONTENIDOS
• Introducción (1 hora) • Matlab para Ingenieros Químicos
• Matrices (2 hora) (6 horas)
• Ingreso de matrices • Ejemplos de Termodinámica
• Ejemplos de Mecánica de Fluidos
• Sistemas de ecuaciones lineales
• Ejemplo de Balances de materia y • Ejemplos de Transferencia de Calor
energía • Ejemplos de Transferencia de Masa
• Métodos numéricos para • Ejemplo de Manejos de sólidos
ecuaciones diferenciales (2 horas) • Ejemplos de Cinética química e
ingeniería de las reacciones
• Ecuaciones Diferenciales, Laplace • Ejemplos de Ingeniería de
(1 hora) procesos: Optimización
• Ejemplos de Microbiología y
Biotecnología Industrial
• Ejemplos de Ingeniería ambiental
Introducción: cálculos aritméticos
• Comandos
• >> 55+12
• %, para comentarios
• ; para evitar presentar resultados
• Clc, para limpieza de ventana de comandos
• Clear
• Paréntesis y precedencia de operaciones,
las operaciones de producto * y cociente /
5^2+3*4+9/3+8*(5+2)
tienen precedencia sobre suma + y
diferencia -
Funciones elementales

144
−4
4
6561
Seno de 30°
Seno de ∏/6
Formato de números

Formato rational o rat


>>format rat
>> 12/18
>> 2/3

Consultar comando help


>> help format
Introducción: variables
Los datos se pueden almacenar en algún lugar de la memoria, asignando
valores a nombres de variables

• Los nombres de las variables deben comenzar con una letra y pueden tener hasta
31 caracteres, que pueden ser números, letras, guión (-), subrrayado(_)
• La variable a es distinta de la variable A
• Los nombres de las variables deben tener significado, primero se utilizan letras
como a, x, y, pero cuando los programas son más complejos se
llamarán posicion, velocidad, etc.
• Los nombres de las variables no pueden coincidir con las palabras reservadas por
MATLAB: sin, sqrt exp, etc
• No están permitidos espacios entre caracteres
Variables predefinidas
Cálculo con variables
• Calcular la expresión:
donde a=8, b=3 y c=-2

• Calcular las raíces de


la ecuación de
segundo grado;
ax2+bx+c=0
Ejemplo: Usar el cursor flecha hacia arriba para reescribir
x2-x-6=0 una línea anterior
Ficheros script
Consiste en crear un fichero de texto con la lista de comandos,
guardarlos y luego ejecutar el nombre del fichero en la ventana de
comandos, los comandos guardados se ejecutan uno tras otro en orden
consecutivo.

Escribir un fichero script:


Verificar la ruta de
- Abrir el Editor  New script almacenamiento y
%raices de ecuación cuadrática ejecución de los
dis=sqrt(b^2-4*a*c); scripts
x1=(-b+dis)/(2*a) “Carpeta de trabajo”
x2=(-b-dis)/(2*a)
- Guardar: los archivos se guardan con extensión m
Ficheros script
Es una buena práctica escribir ficheros script que sean
fáciles de entender por nosotros mismos:
1. Asignar a las variables y funciones nombres
significativos
2. Estructurar el código
3. Comentar el código, describiendo las tareas que
realiza cada una de sus partes
Introducción: ejemplos propuestos
1. Evaluar las siguientes expresiones para el valor de x

2. Un proyectil se dispara con un ángulo θ y una velocidad inicial v0. Calcular el


alcance horizontal, la altura máxima y el tiempo de vuelo del proyectil, desde
que sale hasta que impacta con el suelo. Ɵ=60°, v0=600 m/s, g=10 m/s2.
3. Ley de enfriamiento de Newton. La temperatura ambiente es Ts=20, la
temperatura inicial del cuerpo T0=5. Calcular la temperatura T del cuerpo en el
instante t=3, sabiendo que k=0.45.
Vectores
• La matriz (array) es el tipo fundamental de dato en MATLAB.
La variable escalar que hemos estudiado en la página anterior es un
caso particular de matriz de dimensión 1×1. Los vectores son las
matrices más simples: un vector fila de m elementos es una matriz de
dimensión m×1, un vector columna de n elementos es una matriz de
dimension 1×n.

Vector columna
>> r=[5; 3; -5];
Vector fila >> r=[5
>> r=[5 3 -5] 3
r= 5 3 -5 -5]
>> r=[5, 3, -5] r=5
3
-5
Vectores
• Vectores con espaciados constante x entre el primer término, xi y el
último término xf. vector=xi:Δx:xf

>> x=3:2:15
x= 3 5 7 9 12 15

>> z=-5:3 % el espaciado por defecto es 1


y = -5 -4 -3 -2 -1 0 1 2 3
Operaciones con vectores
1. Suma de un escalar y un vector 1. x=[1, 2, 3]; x+5
2. Producto de un escalar por un 2. u=[1, 2, 3]; u*3
vector Se pueden realizar otras
operaciones
3. Suma de dos vectores 3. u=[1,2,3]; v=[4,5,6]; u+v
4. Producto escalar de dos 4. Uso de comando dot(u,v) o
vectores u*v’
5. Operaciones elemento a 5. Uso de funciones punto,
elemento ejemplo:
Otras formas de crear vectores
Vectores con espaciado constante entre el primer término, xi, y último
término, xf
>> vector=linspace(xi,xf,n) %ejemplo vector de 5 términos entre 0 y 6
Ejemplo: crear una tabla de valores de la función seno en el intervalo de
valores 0 hasta 2*pi
>>x=0:pi/5:2*pi;
>>y=sin(x); La función logspace es similar
Ejemplo: crear una tabla de logaritmos a linspace pero genera un conjunto de
>>x=(1:0.1:1.5)’; %vector columna elementos espaciados
logarítmicamente.
>>logs=[x log10(x)]
Ejemplos propuestos
1. Obtener una tabla de valores de la función:
en el intervalo (0.5, 2) tomando un espaciado
Δx=0.1

2. Obtener una tabla de valores de la función: y=(2x+3)2(x3+2)


en el intervalo (-1, +1) tomando un espaciado
Δx=0.1
Funciones que operan con vectores
Funciones que operan con vectores
Ejemplos propuestos
1. Crear el vector que contenga los números pares entre 10 y cero. Crear un
vector que contenga los múltiplos de 3 entre 6 y 36, ambos inclusive.
2. Crear una tabla de valores del coseno de los ángulos comprendidos entre
0 y 180, de 30 en 30 grados
3. Dado el vector de datos u=[5, 9, 2, 4, 1, 12, 7, 6, 5, 8];
• El valor máximo y el índice de dicho elemento en el vector u
• El valor mínimo y el índice de dicho elemento en el vector u
• La suma de todos los elementos
• El producto de todos los elementos
• El valor medio
• Crear un vector v a partir del u pero con los elementos ordenados en orden
ascendente, utilizando la función sort
Ejemplos propuestos
4. Comprobar que

5. Comprobar que

6. Comprobar que
Matrices
Comandos:
Size: tamaño de una matriz; size(A)
A(i,j): accede al elemento
A’ : devuelve la transpuesta de A

Creación de matrices:
Ejemplo:
A=[1 2 3;4 5 6] x1=[1,2,3] x2=[4,5,6] %Vectores fila
X1=[1;2;3] x2=[4;5;6] %Vectores columna
Matrices
• La función repmat crea una matriz B compuesta de la repetición de n
x m copias de A
A=[1,2;3,4]
• La función meshgrid crea dos matrices U y V de la misma dimensión a
partir de dos vectores
• u=1:4 y v=5:7
Ejemplo: Crear una matriz cuadrada de dimensión N=4
Matrices predefinidas
• La función zeros(m,n) crea una matriz de dimensión m×n cuyos
elementos son todos ceros
• La función ones(m,n) crea una matriz de dimensión m×n cuyos
elementos son todos unos
• La función eye(n) crea una matriz cuadrada de dimensión n×n en la
cual, los elementos de la diagonal son unos y el resto de los
elementos son ceros, es decir, crea la matriz identidad de
dimensión n.
Operaciones con matrices
Producto de un escalar por una matriz

Producto de dos matrices

A = [1 2 3;4 5 6]
B = [ 1 2;3 4;5 6]
Operaciones elemento a elemento
Ejemplos
1. Sean las matrices:
Realizar las siguientes operaciones
• A*BT(el superíndice T indica traspuesta)
• AT*B
• A.*B (producto elemento a elemento)
• A./B

2. Sean las matrices:


• Comprobar si son verdaderas o falsas estas afirmaciones:
• A+(B+C)= (A+B)+C, propiedad asociativa
• 2(A+B)=2A+2B
• A*(B+C)=A*B+A*C, propiedad distributiva
• A*B=B*A, propiedad conmutativa
• (A*B)T=BT*AT
• (A*B)*C=A*(B*C)
• (A+B)T=AT+BT
Sistema de ecuaciones lineales
• Ejemplos:
1. Un fabricante de productos químicos desea surtir un pedido de 800
galones de una solución de ácido al 25%. En existencia tiene soluciones
al 20% y 35%. ¿Cuántos galones de cada solución debe mezclar para
surtir el pedido?
2. Un jardinero tiene dos fertilizantes que contienen diferentes
concentraciones de nitrógeno. Uno tiene 3% y el otro tiene 11%.
¿Cuántas libras de fertilizante debe mezclar para obtener 20 libras de
una concentración al 9%?
Sistema de ecuaciones lineales
>> A=[3 -1 0; -2 1 1; 2 -1 4];
Sea el sistema: >> b=[5;0;15];
>> Ab=[A b];
>>rank(A)
ans = 3
>> rank(Ab)
ans = 3
>> A\b
ans =
2.0000
1.0000
3.0000
>> inv(A)*b
ans =
2.0000
1.0000
3.0000
Gráficos bidimensionales
• MATLAB permite crear complejos gráficos bidimensionales y
tridimensionales.

• Las posibilidades gráficas de MATLAB son enormes, por lo que se


proporcionará información acerca de algunos aspectos que se
utilizarán con más frecuencia
Funciones MATLAB para raíces de ecuaciones
Entrada/Salida
Entrada de datos
• Pero es mucho más fácil
• Si deseamos resolver otra utilizar el comando input .
ecuación de segundo grado,
modificamos los valores de
las variables a, b y c en el
script, lo guardamos y lo
volvemos a correr.

Ejemplo:
>> temp=input('Introduce cuatro temperaturas en grados C: ')
Introduce cuatro temperaturas en grados C: [10,22,40,23]
temp = 10 22 40 23
Entrada/Salida
Mostrar datos

You might also like