Professional Documents
Culture Documents
INTRODUCCION A MATLAB
Matlab es un lenguaje de alto nivel desarrollado para realizar cálculos técnicos. Su nombre deriva de
Matrix Laboratory (Laboratorio de Matrices). Por su capacidad Matlab es un sistema interactivo ideal
para aplicaciones de ingeniería.
Los distintos usos que se le pueden dar son:
• Matemáticas y cálculos
• Desarrollo de algoritmos
• Modelado y simulación
• Análisis y visualización de datos
• Gráficos científicos e ingenieriles
• Desarrollos aplicados, incluyendo la construcción de interfaces gráficas
Para aprender a trabajar con Matlab es fundamental entender el manejo de matrices que éste utiliza.
1) MANIPULACIÓN DE MATRICES
Para definir una matriz ingresando los elementos solo hace falta ingresar el nombre de la variable donde
se guardará la matriz y el valor de los distintos elementos. Los elementos deben estar entre corchetes,
“[]” y se utiliza el punto y coma “;” para indicar el final de cada fila. Los elementos dentro de cada fila se
separan mediante un espacio en blanco o mediante comas.
Ejemplos:
VECTOR VECTOR
VARIABLE MATRIZ
FILA COLUMNA
V= A= B= C=
2 1 2 1 1 2
2 3 4
Ejemplo:
>> [1 2]
ans =
1 2
Si se desea evitar que Matlab muestre los resultados de cada acción realizada se debe incluir el punto y
coma “;” al final de cada línea.
Ejemplo:
Página 1 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Operaciones con matrices: Matlab permite realizar una gran cantidad de operaciones con matrices.
Algunas de ellas son:
• Suma: +
• Resta: -
• Multiplicación: *
• División: /
• Potencia: ^
• Transpuesta: '
Ejemplo: Definimos
MULTIPLICACION POTENCIA
>> C=A*B >> C=A^2
C= C=
22 31 33 25 7 20
18 73 21 20 20 33
23 40 46 21 10 32
Observación: Al realizar operaciones con matrices hay que tener en cuenta las dimensiones de cada
matriz para no obtener un mensaje de error.
Ejemplo:
También se pueden realizar las mismas operaciones pero elemento a elemento. Para esto hay que
anteponer un punto “.” a los diferentes operadores matemáticos.
Ejemplo:
MULTIPLICACION POTENCIA
ELEMENTO A ELEMENTO ELEMENTO A ELEMENTO
>> C=A.*B >> C=A.^2
C= C=
1 14 3 1 4 9
54 6 4 81 1 1
6 4 40 4 1 25
Funciones con matrices: Matlab cuenta con diferentes funciones para trabajar con matrices:
>> A=[16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]; D=[2 4 1;3 8 -1;-2 5 -7];
Página 2 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Página 3 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Manejo de matrices: El elemento en la fila i y en la columna j de una matriz A se denota como A(i,j). De
esta manera A(2,3) es el valor del elemento ubicado en la segunda fila y la tercera columna. Si se intenta
utilizar un elemento que se encuentra fuera de la matriz aparece un mensaje de error.
Ejemplo:
>> t=A(4,5)
??? Index exceeds matrix dimensions.
Ahora bien, si se guarda un elemento que esta fuera de la matriz, la misma aumenta su tamaño para
acomodar el nuevo dato.
Ejemplo:
>> X=A;
>> X(4,5)=17
X=
16 3 2 13 0
5 10 11 8 0
9 6 7 12 0
4 15 14 1 17
El operador dos puntos “:” es uno de los operadores mas importantes de Matlab. El mismo se puede
utilizar de varias maneras. Para comprender su funcionamiento se muestran a continuación diferentes
ejemplos:
Ejemplos:
• Para obtener un vector fila de enteros del 1 al 10 se utiliza el operador de la siguiente forma:
>> C=1:10
C=
1 2 3 4 5 6 7 8 9 10
>> C=100:-7:50
C=
100 93 86 79 72 65 58 51
>> C=0:pi/4:pi
C=
0 0.7854 1.5708 2.3562 3.1416
>> p=A(1:2,3)
p=
2
11
Página 4 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
>> C=A(3:4,1:3)
C=
9 6 7
4 15 14
En este ejemplo se forma una nueva matriz C con las filas 3 y 4 y las columnas 1, 2 y 3 de la matriz A.
• El operador “:” por si mismo sirve para referirse a todos los elementos de una fila o columna. Es
decir, A(:,j) se refiere a todos los elementos de la columna j y A(k,:) se refiere a todos los
elementos de la fila k.
>> C=A(:,3)
C=
2
11
7
14
>> C=A(1,:)
C=
16 3 2 13
• Se puede utilizar la función end para referirse a la última fila o a la última columna.
>> C=A(:,end)
C=
13
8
12
1
>> A(:,2)=[]
A=
16 2 13
5 11 8
9 7 12
4 14 1
2) FUNCIONES MATEMATICAS
Matlab provee un gran número de funciones matemáticas elementales. Además permite realizar varios
cálculos matemáticos como integrales indefinidas, integrales definidas, resolver sistemas de ecuaciones
y realizar simplificaciones.
• Seno: sin(variable)
Da el seno de cada elemento de la variable.
>> sin(3.14)
Página 5 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
ans =
0.0016
ans =
0.8415 0.9093 0.1411
• Tangente: tan(variable)
Da la tangente de cada elemento de la variable. Su utilización es idéntica a la de la función seno. Lo
mismo sucede para todas las demás funciones trigonométricas como coseno (cos), arcocoseno (acos),
arcotangente (atan), etc.
ans =
1.4142 3.0000
4.0000 9.0000
• Exponencial: exp(variable)
Realiza la exponencial de cada elemento de la variable.
ans =
11.0232 2.7183
0.0498 1.1052
ans =
2 3
5 4
• Redondeo: fix(variable)
Redondea los elementos de la matriz al entero más cercano a cero.
ans =
0 0 3
-4 -2 1
• Raíces: roots(variable)
Calcula las raíces del polinomio cuyos coeficientes son los elementos de la variable, por esta razón la
variable debe ser un vector. Los elementos del vector se consideran los coeficientes del polinomio
ordenado en grado decreciente.
Página 6 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
raices =
-3.9111
0.8055 + 1.2854i
0.8055 - 1.2854i
Concatenación de funciones: Las diferentes funciones que utiliza Matlab se pueden concatenar.
Ejemplo:
raices =
-3.0000
0 + 1.0000i
0 - 1.0000i
3) VARABLES SIMBOLICAS
Matlab posee la capacidad de trabajar con variables simbólicas. Esto permite manejar ecuaciones de
manera simbólica y finalmente resolver reemplazando por un valor las distintas variables utilizadas.
Además esto permite resolver integrales indefinidas y definidas de manera analítica.
Para crear una variable simbólica usamos la función syms (también se puede utilizar la función sym).
Ejemplo:
>> syms x y
>> z=3*x+exp(2*y)
z=
3*x+exp(2*y)
Ejemplo:
>> x=3;y=1;
Ejemplo:
>> eval(z)
ans =
16.3891
• Si tenemos una ecuación expresada de manera simbólica podemos simplificarla (en caso de que
sea posible) utilizando el comando simple. Esta función utiliza diferentes formas de
simplificación y muestra la que da la expresión simbólica más corta.
Ejemplos:
>> sym x
>> simple(cos(x)^2+sin(x)^2)
ans =
1
Página 7 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
>> simple(x^3+3*x^2+3*x+1)
ans =
(x+1)^3
>> simple(cos(x)+(-sin(x)^2)^(1/2))
ans =
cos(x)+i*sin(x)
Ejemplos:
>> syms x y t
>> A=1/(1+x^2);
>> int(A)
ans =
atan(x)
ans =
[ sin(x*t)/x, -1/x*cos(x*t)]
[ 1/x*cos(x*t), sin(x*t)/x]
>> A=2*x^3+cos(y)+exp(-2*t*x);
>> int(A,x,1,3)
ans =
1/2*(80*t+4*cos(y)*t-exp(-6*t)+exp(-2*t))/t
4) GRAFICOS
Matlab cuenta con varias herramientas para visualizar vectores y matrices de forma gráfica. Los dos
comandos principales para graficar con plot y stem. El comando plot interpola los elementos adyacentes
de manera que se visualice una gráfica continua, en cambio, el comando ítem muestra los elementos sin
ningún tipo de interpolación. Por esta razón es común utilizar plot para graficar funciones y señales
continuas y stem para señales discretas. Ambos comandos cuentan con varias opciones para
personalizar la visualización de los gráficos. Se pueden varias los colores, los ejes, las etiquetas, los
tamaños, la perspectiva, etc.
Página 8 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Ejemplos:
>> t=0:0.25:2*pi;
>> y=sin(t);
>> plot(t,y)
>> grid
>> title('Funcion seno')
>> xlabel('t [seg]')
>> ylabel('y [volt]')
>> text(2.5,0.7,'Señal continua')
>> t=0:0.25:2*pi;
>> stem(t,y)
Página 9 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Para realizar dos graficas en una misma figura podemos hacer lo siguiente:
>> t=0:0.1:2*pi;y1=sin(t);y2=sin(2*t);plot(t,y1,'o',t,y2,'r--')
>> grid
>> title('Funciones seno de distintos argumentos')
>> xlabel('tiempo')
>> ylabel('y1,y2')
>> text(2.1,0.95,'primer armonica')
>> text(4.7,0.45,'segunda armonica')
5) SIMULINK
1) Para abrir Simulink topear “Simulink” en el workspace o utilizar el botón así se abrirá el
navegador de librerías de Simulink. En cada librería encontraremos los bloques con los que se
construye cada modelo.
2) Para crear un modelo hacer clic en el botón de nuevo modelo de la barra de herramientas. Se
abrirá la ventana de modelo.
3) Para este ejemplo utilizaremos las siguientes librerías:
Sources (fuentes): distintos tipos de señales que utilizaremos como entradas a los modelos.
Links (sumideros): dispositivos para la visualización o exportación de señales que utilizaremos como
salidas o instrumentos de medición.
4) Seleccionar la librería Sources y arrastrar el bloque “Sine Wave” (generador de señal senoidal) a la
ventana modelo.
Página 10 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Veamos como es la respuesta de un integrador simple cuando su entrada es un escalón. Para ello
debemos construir un modelo como el de la siguiente figura donde la entrada que excitará al mismo será
un escalón. El escalón se encuentra en la librería Sources y el integrador en la librería Continuous.
Nota: hacer doble clic sobre Scope para ver como es la respuesta del integrador en el tiempo.
En este ejemplo utilizaremos Simulink para resolver una ecuación diferencial simple y veremos la función
que la verifica en el Scope.
dy
= a ⋅ y(t ) + b ⋅ u (t )
dt
Simulink no puede trabajar con variables simbólicas, por lo que hay que debemos asignarle valores
numéricos a las constantes “a” y “b” de la ecuación anterior.
Página 11 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Para resolver esta ecuación simplemente tenemos que crear un modelo que tenga la forma de la
ecuación. Necesitaremos un bloque sumador, dos ganancias y un integrador. Para la entrada u(t)
introduciremos un bloque que la simule y para ver la salida usaremos el Scope.
De la librería Math obtenemos el sumador: y las ganancias
Para darle valores a las constantes a y b hacemos doble clic sobre cada bloque de ganancia y
escribimos su valor.
Para poder obtener la señal y(t) debemos integrar y´(t). Utilizamos el bloque integrador en el cual
podemos fijar las condiciones iniciales de la ecuación diferencial al hacerle doble clic.
Así, el modelo terminado queda de la siguiente forma (utilizando una constante como entrada):
Obviamente podemos obtener el resultado de la ecuación para cualquier entrada utilizando el bloque de
entrada correspondiente y viendo su resultado en el Scope.
Simulink no devuelve una solución algebraica, sino que da la forma de la solución gráficamente.
Observación: se puede dar un valor simbólico como parámetro de algún bloque, por ejemplo, a un
bloque de ganancia es posible asignarle el valor de ganancia “a”. para que Simulink pueda realizar la
simulación hay que definir una variable “a” en el workspace asignándole el valor que le corresponda.
Simulink tomará dicho valor para la simulación.
7) HELP
Para buscar información sobre las diversas funciones y utilidades de Matlab se pueden usar distintas
herramientas. En primer lugar Matlab cuenta con un menú de ayuda con gran cantidad de información.
Sin embargo, en caso de que uno conozca el nombre del comando que quiere utilizar y necesita
información específica sobre esa función conviene utilizar el comando help. Para usar este comando se
debe tipear la palabra help en el workspace , y seguido el nombre del comando sobre el cual se requiere
información.
Página 12 de 13
Laboratorio Nº 1: Introducción al Matlab
Señales y sistemas - 2006
Ejemplos:
Si no se conoce el nombre específico de la función se puede usar el comando lookfor. El mismo busca
qué funciones tiene la palabra clave de la función.
Ejemplo:
Página 13 de 13