Vous êtes sur la page 1sur 16

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA ELÉCTRICA


Y ELECTRÓNICA

LABORATORIO DE
SISTEMAS DE CONTROL AUTOMÁTICO

INFORME

Práctica No: 1
Tema: Introducción a Matlab y Simulink

Paralelo: 1

Grupo: LSCA

Realizado por: Cynthia Medina

Fecha de Entrega: 15/10/2018

Semestre 2018-B
PRÁCTICA N°1
1. TEMA
INTRODUCCIÓN A MATLAB Y SIMULINK
2. OBJETIVOS
2.1. Familiarizar al estudiante con el uso del programa desarrollado por
MathWorks y con el toolbox denominado SIMULINK que sirve para la simulación
de sistemas.
2.2. Incentivar en el estudiante el uso de un computador personal como
herramienta de análisis y diseño, en el entorno de programación de MATLAB.

3. INFORME
Desarrollar un script de Matlab (archivo .m) con los literales a continuación:
Considere la siguiente matriz:

3.1. Indique el resultado de las siguientes operaciones y que significa cada


una de ellas (utilice Matlab):
a. A (:2)

El operador dos puntos o colon, permite extraer cierta parte de una matriz, ya
sea, las columnas o filas y hasta la combinación de estas, en este caso se usa
para extraer todos los elementos de la segunda columna de la matriz A. Si
primero se encuentran los dos puntos, coma, y luego un número, quiere decir
que dicho número representa la columna que se va a tomar.
b. A (1, :)

Se realiza la extracción de todos los elementos de la fila uno. Si primera se


encuentra un numero cualquiera, coma, y luego el operador dos puntos, quiere
decir que se va a tomar el numero de fila que se especificó.
c. A(:,1:3)
En este caso, 1:3, significa que se va a obtener desde el uno hasta el tres, es
decir marca un inicio y un final, por lo que, se van a extraer todos los elementos
de la columna 1 a la columna 3. Si primero se encuentran los dos puntos, coma,
y luego un número, quiere decir que dicho número representa la columna que se
va a tomar.
d. A(:,1:3:4)

En este caso, 1:3:4, significa: inicio, numero de salto, final; por lo que empieza
en uno, termina en cuatro y va de tres en tres, entonces, se obtendría el uno y el
cuatro. Se extraerán todos los elementos de la columna uno y cuatro. Si primero
se encuentran los dos puntos, coma, y luego un número, quiere decir que dicho
número representa la columna que se va a tomar.
e. B=[A,[ones(2,2);eye(2)]]

Ones, crea una matriz llena de unos, mientras que eye, crea una matriz
identidad, en este caso se está realización la creación de una nueva matriz, en
donde se debe tener en cuenta la dimensión de la matriz A para que no se
produzcan errores. Aquí, se pone a la matriz A como primer elemento de la matriz
B y luego, con una coma se le aumentan mas elementos, como segundo
elementos en conjunto se obtiene una matriz de 4 x 2, ya que la matriz de unos
es de 2 x 2, y luego se le aumenta una columna con la matriz identidad de 2 x 2.
f. A(:,:)
En este caso se extraen todos los elementos de todas las columnas y todas las
filas de la matriz A, ya que, no se tiene un numero especifico de filas o columnas.
g. A(2:4)=[]

En una matriz n x m sus elementos internos se cuentan por columnas, es decir,


empiezan a contar el primer elemento de la primera columna de arriba para
abajo, luego se pasa a la segunda columna de arriba para abajo y así
sucesivamente, en este caso se requieren los elementos que estén en la
segunda, tercera y cuarta posición, y al igualarlos a unos corchetes vacíos,
quiere decir que van a ser eliminados, por lo que, los números 5, 96 y 19 ya no
están en la matriz A.
h. ones(3,2)

La función ones, crea una matriz llena de unos, como primer número, el número
de filas y como segundo número, el número de columnas. En este caso se crea
una matriz de unos de 3 x 2.
i. eye(4)

La función eye, es capaz de crear una matriz identidad, en donde solo su


diagonal está llena de unos y los demás espacios de ceros. Si se escribe solo un
número se creará una matriz cuadrada con dicho número. En este caso se ha
creado una matriz identidad 4 x 4.
j. diag(A)
La función diag es capaz de extraer la diagonal principal de una matriz
cualquiera. En este caso se extrajo la diagonal de la matriz A.
k. zeros(size(A))

La funcion size es capaz de obtener el largo de un vector o el numero de filas y


columnas de una matriz. La funcion zeros, crea una matriz en donde todos sus
elementos son ceros. En este caso, size de A, es 4 4, es decir, 4 filas y 4
columnas, por lo que, se crea una matriz de ceros de 4 x 4.
l. rand(size(A))

La funcion size es capaz de obtener el largo de un vector o el numero de filas y


columnas de una matriz. La funcion rand es capaz de crear números aleatorios
que se encuentran entre el cero y el uno, por lo que, aquí se esta creando una
matriz de 4 x 4.
m. magic(length(A))

La funcion length sirve para obtener la dimensión de una matriz. La funcion magic
crea una matriz n x n construida a partir de los enteros 1 a n ^ 2 con sumas
iguales de filas y columnas. En este caso se crea una matriz de 4 x 4 con
números enteros.
n. eig(A)
La funcion eig devuelve un vector de columna que contiene los valores propios
de la matriz cuadrada A.
ñ. rank(A)

La funcion rank sirve para determinar el rango de una matriz.

3.2. Graficar las siguientes funciones sobre un mismo gráfico.

Los vectores deberían tener al menos 300 puntos para ser graficados, y
deberán tener distinto tipo de línea e incluir etiquetas en los ejes, título del
gráfico, leyendas en la figura.
Código
t=linspace(-10,10,300);
y=(1-(cos(2*t)).^2)./(2*t);
z=((2*t)+1)./((t.^2)+2);
plot(t,y,'g-.',t,z,'m*')
axis([-10 10 -0.8 1]);
title('t vs y(t); t vs z(t)');
xlabel('t');
ylabel('y(t) ; z(t)');
legend('y(t)','z(t)');
Grafica

Fig. 1 Grafica de t vs y(t) y t vs z(t) usando la función plot.


3.3. Utilizando el comando subplot, grafique las funciones del numeral
anterior.

Código
t=linspace(-10,10,300);
y=(1-(cos(2*t)).^2)./(2*t);
z=((2*t)+1)./((t.^2)+2);
subplot(2,1,1);
plot(t,y,'m+');
title('t vs y(t)');
xlabel('t');
ylabel('y(t)');
legend('y(t)');
subplot(2,1,2);
plot(t,z,'r--');
title(' t vs z(t)');
xlabel('t');
ylabel('z(t)');
legend('z(t)');

Gráfica

Fig. 2 Grafica de t vs y(t) y t vs z(t) usando la función subplot.

3.4. Grafique la órbita de Mercurio (x vs y) alrededor de la tierra. La órbita


de Mercurio está dada por las siguientes ecuaciones.

Genere tanto x(t) e y(t) como funciones de Matlab y la variable


independiente t desde 0 hasta 44π/3 en intervalos de π/360.Incluya
etiquetas en los ejes, título del gráfico, etc.
Función

function [x,y] = funcion(t)


x =(93.*cos(t))+(36.*cos(4.15.*t));
y =(93.*sin(t))+(36.*sin(4.15.*t));
end

Código

t=0:pi/360:(44/3)*pi;
funcion(t);
plot(x,y,'m:');
title('Órbita de Mercurio (x vs y) alrededor de la tierra');
xlabel('x(t)');
ylabel('y(t)');

Gráfico

Fig. 3 Grafica de la orbita de Mercurio alrededor de la Tierra.

3.5. Implemente los siguientes diagramas de bloques y obtener su


respuesta, adicionalmente graficar la respuesta desde un script de Matlab
(archivo .m).
Fig. 4 Diagramas de bloques.

Simulación de a

Fig. 5 Simulación del diagrama de bloque a.

Respuesta en Simulink de a

Fig. 6 Grafica en Simulink del diagrama de bloque a.

Codigo
plot(ScopeData.time,ScopeData.signals.values)
grid on
title('Respuesta de a')
xlabel('t')
ylabel('x(t)')
Respuesta del diagrama de bloques de a

Fig. 7 Grafica en Matlab del diagrama de bloque a.

Gráfica en Simulink de b

Fig. 8 Grafica en Simulink del diagrama de bloque b.

Código
plot(ejemplo0.time,ejemplo0.signals.values)
grid on
title('Salida')
xlabel('t')
ylabel('salida(t)')

Gráfica

Fig. 9 Grafica en Matlab del diagrama de bloque b.


3.6. Implemente los siguientes diagramas de bloques y obtener las
respuestas de las salidas incluyendo la velocidad para la figura a),
adicionalmente graficar las respuestas desde un script de Matlab (archivo
.m).

Fig. 10 Diagrama de bloques

Simulación en Simulink de a

Fig. 11 Simulación del diagrama de bloque a.

Gráfica en Simulink de la Salida 1 de a

Fig. 12 Gráfica de la Salida 1 en Simulink del diagrama de bloque a.


Código
plot(ejemplo.time,ejemplo.signals.values)
grid on
title('Salida 1')
xlabel('t')
ylabel('salida1(t)')

Gráfica

Fig. 13 Gráfica de la Salda1 en Matlab del diagrama de bloque a.

Gráfica en Simulink de la Salida 2 de a

Fig. 14 Gráfica en Simulink de la Salida2 del diagrama de bloque a.

Código
plot(ejemplo2.time,ejemplo2.signals.values)
grid on
title('Salida 2')
xlabel('t')
ylabel('salida2(t)')
Gráfica

Fig. 15 Gráfica en Matlab de la Salida 2 del diagrama de bloque a.

Gráfica en Simulink de la Velocidad de a

Fig. 16 Gráfica en Simulink de la Velocidad del diagrama de bloque a.

Código
plot(ejemplo3.time,ejemplo3.signals.values)
grid on
title('Velocidad')
xlabel('t')
ylabel('velocidad(t)')
Gráfica

Fig. 17 Gráfica en Matlab de la velocidad del diagrama de bloque a.

Simulación en Simulink de b

Fig. 18 Simulación del diagrama del bloque b.

Gráfica en Simulink de la Salida de b

Fig. 19 Gráfica en Simulink del diagrama de bloque b.


Código
plot(ejemplo4.time,ejemplo4.signals.values)
grid on
title('Salida')
xlabel('t')
ylabel('salida(t)')
Gráfica

Fig. 20 Gráfica en Matlab del diagrama de bloque a.

3.7 Conclusiones y Recomendaciones


Conclusiones
• Matlab es un programa demasiado útil para Ingeniería en Electrónica y
Control, ya que cuenta con demasiados comandos y funciones necesarias
para manejar funciones de transferencia, al igual que cuenta con Simulink,
el mismo que permite realizar diagramas de bloques, los cuales son de
gran importancia en la materia de Sistemas de Control Automático.
• Matlab cuenta con demasiadas funcionalidades, en donde, se puede
trabajar con matrices y vectores de gran tamaño, a la vez se puede
realizar varias operaciones con lo antes mencionado, se puede crear
funciones y las mismas pueden ser utilizadas dentro de otras funciones.
• Matlab y Simulink tiene una correlación impresionante, ya que, las
graficas pueden ser modificados mediante la creación de códigos y con
las respectivas variables conocidas, además, mediante la creación de
circuitos eléctricos, con Matlab se puede conocer la función de
transferencia con simples comandos.
Recomendaciones
• Al momento de usar la función paso, no olvidarse de corregir el step time,
ya que por defecto se mantiene en uno, cuando en realidad debe estar en
cero, en el caso de los ejercicios realizados en esta práctica.
• Matlab cuenta con un menú de search documentation, en donde se puede
escribir el nombre del comando, operador, función etc., para así, conocer
de qué se trata, ya que, al buscar en ese bloque, se despliega toda la
información pertinente sobre lo buscado.
3.8 Bibliografía

• E. Pinto. “Fundamentos de control con Matlab”. PRETICE HALL. Edición


1.
• I. Paredes. “Practica 1 de Laboratorio de Sistemas de Control
Automático”. Semestre 2018B.

Vous aimerez peut-être aussi