Sunteți pe pagina 1din 8

Laboratorio de Sistemas de Control I 2020-I

Curso de Laboratorio de Sistemas de Control I


Guía Nº 1
Matlab
I- Objetivos
a. Lograr que el estudiante se familiarice con el entorno de Matlab.
b. Lograr que el estudiante conozca las funciones básicas de Matlab para el desarrollo del
curso.

II- Introducción
MATLAB (MATrix LABoratory) es una plataforma optimizada para resolver problemas de
ingeniería y científicos orientado al cálculo con matrices. Desde el punto de vista del curso,
Matlab se puede considerar como un entorno de simulación que puede utilizarse para
modelar, analizar y diseñar sistemas de control.

Una vez iniciado Matlab, nos encontramos con en el entorno presentado en la figura 1. En
el cual se incluye los siguientes paneles:
-Current Folder (Directorio actual de trabajo): Muestra el folder donde todos los archivos
generados se guardarán. Además, es el lugar donde Matlab buscará un determinado archivo
en caso de necesitarlo.
-Command Windows (Ventana de comandos): donde se ingresan y se ejecutan los comandos,
identificada por el indicador (>>).
-Workspace (Espacio de trabajo): Muestra las variables que han sido creadas en la ventana de
comandos de la sesión actual.

Además, también podemos incorporar un panel más: Command History (Historial de


comandos), el cual nos permitirá ver el histórico de los comandos que se ha utilizado.

CURRENT
FOLDER COMMAND WINDOW WORKSPACE

Figura 1. Entorno de Matlab R2020a

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

III- Desarrollo
a. Parte 1: Variables, vectores y matrices
Para crear una variable, se usa la sentencia de asignación con el siguiente formato:

>> NombreDeLaVariable= expresión

Entonces para crear una variable a con un valor de 1, debe ejecutar la siguiente
instrucción en la línea de comandos:

>> a = 1
a=
1

El resultado se muestra automáticamente y la variable creada se registra en el Workspace.


Ahora cree las variables b, c y d utilizando las siguientes instrucciones:

>>b = 2
b=
2
>>c = a + b
c=
3
>>d = cos(a)
d=
0.5403

Cuando no se especifica una variable de salida, MATLAB utiliza la variable ans,


abreviatura de answer (respuesta), para almacenar los resultados del cálculo.

>>sin(a)
ans =
0.8415

Si una instrucción finaliza con punto y coma, MATLAB realiza el cálculo, pero elimina
la visualización de la salida en la ventana de comandos.

>>e = a*b;

También se puede asignar caracteres o secuencia de caracteres a una variable. Se debe


incluir los caracteres dentro de comillas, tal como se muestra en la siguiente línea:

>> t="Hola Mundo"


t=
"Hola Mundo"

Para crear un arreglo con cuatro elementos en una fila única, separe los elementos con
una coma (,) o un espacio.

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

>> x = [1 2 3 4] % x= [1,2,3,4]
x=
1 2 3 4

Este tipo de arreglo es un vector fila.

Para crear una matriz con varias filas, separe las filas con punto y coma.

>>y = [1 2 3; 4 5 6; 7 8 10]
y=
1 2 3
4 5 6
7 8 10

Realice las siguientes operaciones y explique el resultado obtenido:


• y + 10 • y' • y.*y • A = [y, y]
• sin(y) • z = y*inv(y) • y.^3 • B = [x; y]

b. Parte 2: Comandos básicos


Describa en sus propias palabras las siguientes instrucciones y muestre un ejemplo de su
utilización:

• help • who • clear all


• clc • clear • close all

c. Parte 3: Guardar y Recuperar variables


Las variables generadas en el workspace se borran cuando se cierra la sesión de Matlab. Se
pueden guardar dichas variables en un archivo de extensión “.mat” usando el comando
sabe, el cual se puede usar de las siguientes maneras:
Para guardar todas las variables del workspace en el archivo datos1.mat , se ejecuta:
>> save datos1.mat;
Sí sólo se desea guardar algunas variables, se escriben estas a continuación del nombre
del fichero, tal como se muestra
>> save datos2.mat x;

Para recuperar variables guardadas previamente en un archivo, se ejecuta lo siguiente:

>>load(‘datos1.mat’) %load datos1

Para el informe final adjunte un archivo variables.mat que contenga 2 variables: Una
variable nombrada codigo a la cual se le asignará los códigos de los integrantes del
grupo y otra variable nombres, donde estarán asignados los nombres de estos.

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

d. Parte 4: Polinomios
En Matlab los polinomios son representados por vectores, conteniendo los coeficientes
en orden descendentes. Por ejemplo, el siguiente polinomio:

𝑃(𝑠) = 𝑠 4 + 2𝑠 3 − 9𝑠 2 − 2𝑠 + 8

Se representaría en Matlab de la siguiente manera:


>> P=[1 , 2, -9 , -2 ,8];%

Para extraer las raíces de un polinomio


>> r=roots(P);

Para hallar el polinomio.122111 cuyas raíces sean r1=0.5, r2=1 y r3=3


>> P2=poly([1 0.5 3]);

Para multiplicar polinomios


>> P3=conv(P,P2);

Para dividir:
>> [Q,R]=deconv(P3,P);

Ahora defina el siguiente polinomio: 𝑄(𝑠) = 𝑠 5 + 2𝑠 4 − 𝑠 2 + 3𝑠 + 2 y obtenga los


resultados de las siguientes operaciones:

• P(s)+Q(s) • P(s)xQ(s) • P(s)/Q(s)

e. Parte 5: Gráficas
Para realizar gráficos en dos dimensiones (2D), se utiliza el comando plot, el cual grafica
dos vectores de la misma longitud. Por ejemplo, al ejecutar las líneas de código, se
dibuja el vector y frente al vector x, la cual se aprecia en la figura 2.

>> x = 0:0.05:5;
>> y = sin(x.^2);
>> plot(x,y)

Figura 2. Gráfica de y vs x

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

Se pueden cambiar las propiedades de los elementos que constituyen las distintas
gráficas, como el color, el tipo de línea, etc. Para poder apreciar estas características
ejecute las siguientes líneas de código, lo cual da como resultado la figura 3.

>> x = 0: 2*pi/40: 2*pi;


>> y = sin(x);
>> plot(x,y,'ro')
>> hold on
>> y = cos(x);
>> plot(x,y,'bp')
>> legend('sin', 'cos')
>> grid on
>> xlabel('x')
>> ylabel('sin(x) o cos(x)')
>> title('sino y coseno en un sólo gráfico')

Explique con sus propias palabras el significado de cada línea código.

Figura 3. Gráfica de sin(x) y cos(x)

f. Parte 6: Programación
Matlab proporciona un potente lenguaje de programación, tanto como un entorno
computacional interactivo. La programación se realiza mediante ficheros “.m” desde el
Editor de Matlab. Existen dos tipos de archivos de programación que se pueden realizar:

Scripts, que no aceptan argumentos de entrada ni devuelven argumentos de salida.


Estos operan con variables del workspace.
Funciones, que aceptan argumentos de entrada y devuelven argumentos de salida. Las
variables internas son locales para la función.

Clarifiquemos esto con el siguiente ejemplo:


En el Editor de Matlab (HOME>New>Script) creamos el siguiente script llamando:
triarea1.m que calcula el área del triángulo:

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

b = 5;
h = 3;
a = 0.5*(b.*h)

Después de guardar el script, este puede ser ejecutado desde la línea de comandos, de
la siguiente manera:

>> triarea
a=
7.5000

Nótese que si queremos calcular el área de otro triangulo usando el mismo script, se
debería actualizar los nuevos valores de b y h modificando el código del script.

Sin embargo, en lugar de actualizarlo manualmente cada vez, se puede hacer un


programa más flexible convirtiéndolo en una función. Para lo cual abrimos una plantilla
de la estructura de una función (HOME>New>Function). Luego, modifique el nombre
de la función, las asignaciones de variables de entrada y salidas; así mismo, defina la
expresión del cálculo del área, tal como se presenta en las siguientes líneas:

function a = triarea2(b,h)
a = 0.5*(b.*h);
end

Después de guardar la función con el nombre de triarea2, puede ser llamada con
diferentes valores de base y altura, desde la línea de comandos sin modificar su
codificación, de la siguiente manera:

>>a1 = triarea2(1,5)
>>a2 = triarea2(2,10)
>>a3 = triarea2(3,6)
a1 =
2.5000
a2 =
10
a3 =
9

Cree un script que pida al usuario que ingrese los coeficientes de una ecuación cuadrática
(𝑎𝑥 2 + 𝑏𝑥 + 𝑐) y que arroje como resultado las soluciones siempre y cuando sean
reales caso contrario que muestre un mensaje que las soluciones no son reales. Luego
convertirla en una función.

g. Parte 7: Funciones de transferencia


Para definir una función de transferencia en Matlab, lo hacemos con el comando tf,
considerando el par de polinomios numerador-denominador. Por ejemplo, para definir
la siguiente función de transferencia H(s):

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

𝑠 2 + 2𝑠 + 3
𝐻(𝑠) =
𝑠3 + 3𝑠 2 + 3𝑠 + 1

Se ejecutan las siguientes líneas de código:


>>num= [ 1, 2, 3]; % declaramos el numerador como un polinomio
>>den= [1, 3, 3, 1]; % declaramos el denominador como un polinomio
>>sys=tf(num,den) % declaramos la función de transferencia

sys =
s^2 + 2 s + 3
---------------------
s^3 + 3 s^2 + 3 s + 1

Continuous-time transfer function.

Considerando la siguiente función de transferencia G(s)


𝑠 2 + 64
𝐺(𝑠) =
(𝑠 + 1)(𝑠 2 + 6𝑠 + 8)
i. Defínala en Matlab.
ii. Encontrar el equivalente en funciones parciales de G(s).
iii. Encuentre los ceros de G(s). (cuando el numerador se hace cero).
iv. Encuentre los polos de G(s) y H(s). (cuando el denominador se hace cero).

IV- Cuestionario Final


a. Los huracanes son categorizados con base a la velocidad de los vientos. La siguiente tabla
muestra el número de categoría para los huracanes con los rangos de variación del viento
y cuál es el aumento de la marejada ciclónica (expresada en pies por encima de lo
normal).
Cat Velocidad Marejada
de viento
1 74-95 4 -5
2 96-110 6-8
3 111-130 9-12
4 131-155 13-18
5 >155 >18

Escriba una función que como argumentos de entradas sea la velocidad del viento, y
dará como respuesta la categoría del huracán y el nivel de la marejada.
b. El factor de enfriamiento del viento (WCF) mide que tan frio se siente con una
temperatura (T) de aire dada (en grados Fahrenheit) y la velocidad del viento V (in
millas por hora). Una fórmula para WCF es
𝑊𝐶𝐹 = 35.7 + 0.6𝑇 − 35.7(𝑉 0.16 ) + 0.43𝑇(𝑉 0.16 )
Escribe una función para recibir un vector conteniendo distintas velocidades de viento
como argumento de entrada y retornar el WCF para todas las distintas velocidades de
vientos, además que muestre un gráfico WCF vs V. Considere T como la temperatura
ambiental.

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández
Laboratorio de Sistemas de Control I 2020-I

V- Bibliografía
a. Documentación de Matlab (https://es.mathworks.com/help/matlab/)

VI- Informe Final


a. Presente los resultados obtenidos de forma ordenada y detallada obtenidos durante el
desarrollo de la guía incluyendo el cuestionario final.
b. Se presentará un informe final (si es digital usar sólo formato *.doc o *.pdf) y además
adjuntar en otro fichero comprimido (*.rar o * zip) conteniendo los archivos que hayan
sido creados en el desarrollo de la guía.
c. Plazo máximo de presentación: 1 semana después de presentación de la experiencia.

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería Electrónica y Eléctrica


Jean Carlos Malca Fernández

S-ar putea să vă placă și