0% encontró este documento útil (0 votos)
99 vistas10 páginas

Lab. Teoría de Control II Práctica 1 Introducción A Matlab

La práctica introduce el paquete computacional MATLAB. Los objetivos son que los estudiantes conozcan la lógica de trabajo de MATLAB y resuelvan ecuaciones diferenciales ordinarias. MATLAB trabaja principalmente con matrices numéricas y ofrece varias formas de introducir y manipular matrices, como listas explícitas, funciones, archivos y carga de datos. Incluye utilidades como ayuda y gráficas.

Cargado por

Daniel Quintero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
99 vistas10 páginas

Lab. Teoría de Control II Práctica 1 Introducción A Matlab

La práctica introduce el paquete computacional MATLAB. Los objetivos son que los estudiantes conozcan la lógica de trabajo de MATLAB y resuelvan ecuaciones diferenciales ordinarias. MATLAB trabaja principalmente con matrices numéricas y ofrece varias formas de introducir y manipular matrices, como listas explícitas, funciones, archivos y carga de datos. Incluye utilidades como ayuda y gráficas.

Cargado por

Daniel Quintero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

INSTITUTO TECNOLÓGICO DE SONORA

LABORATORIO DE
TEORIA DE CONTROL II - SISTEMAS DE CONTROL II

PRÁCTICA No. 1
INTRODUCCIÓN AL PAQUETE COMPUTACIONAL MATLAB

OBJETIVOS:
- Que el alumno conozca la lógica de trabajo utilizada en el paquete MATLAB.
- Que el alumno resuelva una ecuación diferencial ordinaria para diferentes
entradas.

INTRODUCCIÓN

MATLAB trabaja esencialmente con un solo tipo de objeto: una matriz numérica rectangular cuyos
elementos pueden ser complejos. En algunas situaciones especiales, el significado real se encuentra en
matrices de 1X1, las cuales representan escalares; o a matrices con solamente un renglón o una sola
columna, las cuales son de hecho vectores. Las operaciones y comandos en MATLAB suponen que los
elementos con los que trabajan son matrices, esto es, aun cuando la información que se esté manejando
sea un escalar o un vector, dicha información deberá estar contenida en una matriz.

INTRODUCCIÓN DE MATRICES SIMPLES

Las matrices se pueden introducir en MATLAB de varias maneras diferentes:

- Introducidas por una lista explícita de elementos.


- Generados por funciones y comandos
- Creadas en archivos M.
- Cargadas de archivos de datos externos.

El lenguaje de MATLAB no contiene comandos de dimensión o declaraciones de tipo, éstas se asignan


automáticamente, hasta la cantidad disponible que se tenga en la computadora en la que se esté
trabajando.

El método más fácil de introducir matrices pequeñas es el de usar una lista explícita. La lista explícita de
elementos se separa por medio de espacios en blanco o de comas, se rodea por corchetes [ ] y se usa el
punto y coma (;) para indicar el fin de renglones. Por ejemplo al introducir el comando:

A = [1 2 3; 4 5 6; 7 8 9]

Resulta en la salida
A=

1 2 3
4 5 6
7 8 9
1
La matriz A se almacena en memoria por default para su uso posterior.

Las matrices grandes se pueden esparcir a través de varias líneas de entrada, con el enter reemplazando los
puntos y comas. Aunque apenas necesario para una matriz de este tamaño, la matriz anterior también se
pudo haber introducido en tres renglones, de la siguiente forma:

A=[123
456
7 8 9]

A=

1 2 3
4 5 6
7 8 9

Las matrices se pueden introducir a partir de archivos con nombres terminados en “.m”. Si un archivo
llamado ejemplo.m contiene las siguientes tres líneas de texto

A = [1 2 3
456
7 8 9]

si se introduce el comando ejemplo, MATLAB leerá el archivo y genera a la matriz A.

El comando Load puede leer matrices generadas por sesiones anteriores de MATLAB o matrices en ASCII
importadas de otro programa.

 ELEMENTOS DE MATRIZ

Los elementos de una matriz se pueden formar a partir de cualquier expresión de MATLAB, por ejemplo:

x = [-1.3 sqrt(3) (1+2+3)*4/5 ]

Resulta en

x=

-1.3000 1.7321 4.8000

Los elementos individuales de una matriz se pueden referenciar por medio de índices dentro de
paréntesis, ( ).

Continuando con el ejemplo

x(5) = abs(x(1))

2
Produce

x=

-1.3000 1.7321 4.8000 0 1.3000

Notar que el tamaño de x se incrementó automáticamente para acomodar el nuevo elemento y que los
elementos intermedios sin definir son puestos a cero.

Se pueden construir matrices grandes usando otras más pequeñas como elementos. Por ejemplo, se podría
anexar otro renglón a la matriz A con

r = [10 11 12];
A = [A; r]

Que resulta en

A=

1 2 3
4 5 6
7 8 9
10 11 12

Se pueden extraer pequeñas matrices a partir de otras más grandes usando (:) por ejemplo,

A = A(1:3, :)

A=

1 2 3
4 5 6
7 8 9

Toma los primeros tres renglones con todas sus columnas de la matriz A para devolver de vuelta a la A
original.

 EXPRESIONES Y VARIABLES

MATLAB es un lenguaje de expresiones. Las expresiones tecleadas por el usuario se interpretan y evalúan
por medio del sistema en línea de MATLAB. Las expresiones en MATLAB frecuentemente son de la forma:

Variable = expresión

O simplemente

3
expresión

Las expresiones se componen de operadores y otros caracteres especiales, de funciones y de otros


nombres de variables. La evaluación de la expresión produce una matriz, la cual entonces se despliega en la
pantalla y se le asigna a una variable para su uso futuro.

 MATRICES Y NÚMEROS COMPLEJOS

Se permiten los números complejos en todas las operaciones y funciones en MATLAB. Los números
complejos se introducen usando las funciones especiales i y j. Alguien podría usar

z = 3 + 4*i

Mientras que otros preferirían

z = 3 + 4*j

otro ejemplo es

w = r*exp(i*theta)

Existen al menos dos formas convenientes para introducir matrices complejas. Estas se ilustran por las
expresiones

A = [1 2; 3 4] + i*[5 6; 7 8]

A = [1+5*i 2+6*i; 3+7*i 4+8*i]

Que produce el mismo resultado.

 GENERACIÓN DE VECTORES

Los dos puntos ( : ), es un caracter importante en MATLAB. La expresión

x = 1:5

genera un vector renglón conteniendo los números del 1 al 5 con un incremento unitario, que produce:

x=

1 2 3 4 5

Se pueden usar incrementos diferentes a uno:


4
y = 0: pi/4: pi

lo que resulta en

y=

0 0.7854 1.5708 2.3562 3.1416

también se pueden tener incrementos negativos:

z = 6: -1:1

lo cual proporciona

z=

6 5 4 3 2 1

 LA UTILERÍA HELP

Se encuentra disponible una utilería de ayuda (HELP), que proporciona ayuda en la mayoría de los temas de
MATLAB, para obtener una lista de temas de ayuda, teclear

help

para obtener ayuda en un tema específico, teclear help tema, por ejemplo

help eig

proporciona ayuda sobre la información del uso de la función eig

 GRAFICADO

Se pueden examinar los datos de manera gráfica en MATLAB usando los comandos de “papel gráfico” para
crear gráficas en la pantalla. Existen muchos tipos diferentes de “papel gráfico” para escoger:

plot gráfica x-y lineal


loglog gráfica x-y logarítmica - logarítmica
semilogx gráfica x-y semilog (eje x logarítmico, eje y lineal)
semilogy gráfica x-y semilog (eje x lineal, eje y logarítmico)
polar gráfica polar
mesh superficie de malla en tres dimensiones.
contour gráfica de contorno
bar gráfica de barras
stairs gráfica de escalera
5
Una vez que la gráfica se encuentra en la pantalla, la gráfica puede ser etiquetada, titulada, o se le pueden
dibujar líneas de escalas.
title título de la gráfica.
xlabel etiqueta del eje x.
ylabel etiqueta del eje y.
text texto posicionado arbitrariamente.
gtext texto posicionado por ratón.
grid cuadriculado de la gráfica para mostrar las líneas de escala.

Existen comandos para el control y escalamiento manual de la gráfica:


axis escalamiento manual de los ejes.
hold mantener la gráfica en la pantalla.
shg mostrar la gráfica en la pantalla.
clg borrar la gráfica.
subplot dividir la pantalla en varias subventanas.
ginput entrada de datos a partir del mouse.

 FORMA BÁSICA

Si y es un vector, plot(Y) produce una gráfica lineal de los elementos de Y con respecto al índice de los
elementos de y. Por ejemplo, para graficar los números {0.0, 0.48, 1.0, 0.91, 0.6, 0.14}, se introducen como
vector, y se ejecuta plot:

y = [0.0 0.48 1.0 0.91 0.6 0.14];


plot (y)

lo que resulta en que aparezca la gráfica de la figura 1.1 en la pantalla:


1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
1 2 3 4 5 6

Figura 1.1

Notar que los datos se autoescalan y que se dibujan los ejes X y Y.

Una vez que la línea de comandos es traída de vuelta, se le pueden añadir etiquetas a la gráfica:

title(‘Mi primera gráfica’)


xlabel(‘estadios’)

6
ylabel(‘ganancias’)
grid

Esto resulta en la figura 1.2


Mi primera gráfica
1

0.9

0.8

0.7

ga 0.6
na
nci
0.5
as

0.4

0.3

0.2

0.1

0
1 2 3 4 5 6
estadios

Figura 1.2

La función gtext(‘texto’) permite que con el mouse o las teclas flecha del teclado se posicione un apuntador
en forma de cruz en la gráfica, en cuyo punto central se colocará texto una vez que se presione cualquier
tecla o botón del mouse.

Si los vectores x y y son de la misma longitud, el comando plot(x,y) dibuja una gráfica x-y de los elementos
de x vs los elementos de y. Por ejemplo:

t = 0: 0.05:4*pi % vector de tiempo


y = sin(t) % vector de magnitud y dependiente de t
plot(t,y)

resulta en la figura 1.3

Figura 1.3

7
Observar lo que sucede con la gráfica al usar la función zoom desde la línea de comandos

 FUNCIONES Función (function)

Existe una clase de funciones en MATLAB que trabaja no con matrices numéricas, sino con funciones
matemáticas. Donde estas funciones incluyen:

- Integración numérica.
- Ecuaciones no lineales y optimización.
- Solución de Ecuaciones diferenciales.

Las funciones matemáticas se representan en MATLAB por archivos tipo-M función. Por ejemplo, la función

1 1
humps( x )   6
( x  0.3)  0.01 ( x  0.9) 2  0.04
2

se hace disponible para matlab creando (en editor ascii) un archivo tipo-M llamado humps.m:

function y = humps(x)
y = 1 ./((x-0.3).^2 + 0.01) + 1 ./((x-0.9).^2 + 0.04) - 6;

dónde ./ y .^ indican que la operación / y la operación ^ se efectuarán elemento por elemento de la matriz
o vector en lugar de con la matriz o vector visto como un elemento total.
Se puede hacer una gráfica de la función usando

x = -1: .01:2;
plot(x,humps(x))

lo que produce que aparezca la gráfica de la figura 1.4 en la pantalla:


100

80

60

40

20

-20
-1 -0.5 0 0.5 1 1.5 2

Figura 1.4

8
 EL TOOLBOX DE CONTROL DE MATLAB.

El toolbox de control, contiene una serie de funciones que son bastante utilizadas en sistemas de control, a
continuación se revisarán algunas de ellas:

Respuesta en el tiempo:

>> y = step(num,den,t)
se obtiene la respuesta a una entrada escalón, dados el vector conteniendo los coeficientes del polinomio
del numerador (num) y el del denominador (den) de una función de transferencia, el parámetro t es un
vector que indica los instantes de tiempo para los que se desea que se obtenga la respuesta.

>> y = impulse(num,den,t)

se obtiene la respuesta a una entrada impulso unitario, dados el vector conteniendo los coeficientes del
polinomio del numerador (num) y el del denominador (den) de una función de transferencia, el parámetro
t es un vector que indica los instantes de tiempo para los que se desea que se obtenga la respuesta.

>> y = lsim(num,den,u,t)

se obtiene la respuesta a una entrada u, que es un vector que contiene puntos de la señal de entrada para
la que se desea obtener la respuesta de salida, dados el numerador (num) y el denominador (den) de una
función de transferencia, el parámetro t es un vector que indica los instantes de tiempo para los que se
desea que se obtenga la respuesta.

Por ejemplo, si se desea obtener la respuesta en el tiempo para una función rampa:

>>t=0:0.01:20;
>>ramp=t;
>> y = lsim([1 0],[1 2 6],ramp,t)
>> plot(t,y);

donde el numerador = s, y el denominador = s2 + 2s + 6.


Además se pueden generar varias señales de prueba usando las siguientes funciones, por ejemplo para
generar una señal cuadrada, se puede hacer uso de la función SQUARE:

SQUARE Señal cuadrada.


SQUARE (*t) genera una señal cuadrada de frecuencia  , para cada valor de tiempo dado en el vector t.

Y usando esta función para generar una señal cuadrada:

>>t=0:0.001:1 % simular 1 segundo con muestras cada 1 ms


>> u=square(2*pi*10*t;) % señal cuadrada de 10 Hz
>>plot(t,u); % se grafica la señal con respecto al tiempo (la señal tendrá un periodo de 0.1
s.)

9
MATERIAL Y EQUIPO

1 Computadora con el paquete MATLAB instalado.

DESARROLLO

1.- Lea completa y detenidamente toda la práctica.

2.- Dada la FDT de un motor de CD en la ecuación 2, obtenga la respuesta a una entrada escalón de
magnitud 2 volts, dada la función de transferencia del motor de CD, si se consideran los siguientes
parámetros** (obtener 0.1 segundos de dicha respuesta):

Parámetro Símbolo Valor Unidades


Resistencia de armadura Ra 5.3 
Inductancia de armadura La 0.58 mH
Constante de eg K1 0.027 V / (rad/sec)
Constante de Torque K2 0.027 Nm / Amp
Momento de inercia de Ja 1.57 x10-6 Kg m2
la armadura
Coeficiente de fricción a 6.00x10-6 Nm seg
viscosa

Tabla 1.1. Parámetros del motor de CD.

** Los parámetros corresponden a los motores que contienen los módulos de prueba de control del
laboratorio de electrónica

W (S ) K2
 (ec. 2)
Va ( S ) J a La S  ( J a Ra   a La ) S  ( K1 K 2  Ra  a )
2

3.- Realice 2.-, pero ahora considerando una entrada impulso unitario.

4.- Realice 2.-, pero ahora considerando una entrada rampa de pendiente 2 V/s.

5.- Realice 2.-, pero ahora considerando una señal cuadrada de frecuencia 4 Hz, amplitud 2 V pico y un
tiempo de simulación de 1 segundo.

6.- Realice 2.-, pero ahora considerando una entrada senoidal de frecuencia = 10 Hz, valor pico de 5 V y un
tiempo de simulación de 0.8 segundos.

10

También podría gustarte