Logo Studenta

MATLAB Y SIMULINK PRACTICA LAB

¡Estudia con miles de materiales!

Vista previa del material en texto

OBJETIVOS 
•	Analizar y comprender las herramientas disponibles en matlab para el Control Automático, entre las que están denominados Control Toolbox y el Simulink. 
•	Conocer y aprender mediante ejercicios relacionados con funciones de transferencia y respuestas temporales.
CONCEPTOS GENERALES 
Matlab es un sistema de programación y cálculo basado en la manipulación de matrices. El nombre mismo del sistema o paquete de cómputo proviene de la abreviación MATriz LABoratory o Laboratorio de Matrices. Por lo tanto, la filosofía detrás de la computación por medio de este sistema es considerar a los objetos (tanto matemáticos como gráficos) como matrices de forma que podamos usar el álgebra matricial y otras propiedades para ahorrar tiempo de cómputo. 
Se puede trabajar con MATLAB directamente por medio de la invocación de comandos en la ventana de trabajo (Command Window) que es la ventana en donde se escriben los comandos o bien a través de procesos estructurados (rutinas o funciones con la extensión *.m). En todos los casos se puede incluir el manejo de otras ventanas de despliegue de resultados o gráficas. Las ventanas pueden contener elementos adicionales como submenús, botones, cursores para facilitar la interacción. En general todos los comandos MATLAB corresponden a rutinas escritas en el propio lenguaje de MATLAB, aunque algunas pueden ser implementaciones de otros lenguajes como C, Java, etc. 
MATLAB es un gran programa de cálculo técnico y científico. Para ciertas operaciones es muy rápido, cuando puede ejecutar sus funciones en código nativo con los tamaños más adecuados para aprovechar sus capacidades de vectorización. En otras aplicaciones resulta bastante más lento que el código equivalente desarrollado en C/C++ o Fortran. Sin embargo, es una herramienta muy útil y de alto nivel para desarrollar aplicaciones técnicas, fácil de utilizar y que puede ayudar a aumentar significativamente la productividad de los programadores respecto a otros entornos de desarrollo. 
MATLAB dispone de un código básico y de varias librerías especializadas (toolboxes). En estos apuntes se hará referencia exclusiva al código básico. MATLAB incluye una gran cantidad de funciones predefinidas, que ayudan a realizar cálculos de todo tipo así como para visualización de datos y resultados, se recomienda usar los demos y las ayudas (help), así como los tutoriales para conocerlas.
GRÁFICAS BI-DIMENSIONALES 
MatLab dispone de cinco funciones básicas para crear gráficos 2-D. Estas funciones se diferencian principalmente por el tipo de escala que utilizan en los ejes de abscisas y de ordenadas. Estas cuatro funciones son las siguientes:
•	plot() crea un gráfico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejes.
•	loglog() escala logarítmica en ambos ejes. 
•	plotyy() dibuja dos funciones con dos escalas diferentes para las ordenadas, una a la derecha y otra a la izquierda de la figura.
•	title('Figura') añade un título al dibujo.
•	xlabel('X') añade una etiqueta al eje de abscisas. Con ‘xlabel off’ desaparece.
•	ylabel('Y') añade una etiqueta al eje de ordenadas. Con ‘ylabel off’ desaparece.
FUNCIONES DE REPRESENTACIÓN GRÁFICA
La función más importante es “plot”, que abre una ventana de y representa en ella los datos ingresados como parámetros. Se puede representar a una función de la forma y=f(x) del modo plot(x,y).
Se puede escoger la forma de la traza de la función y el color de ella. Las opciones uno la puede encontrar introduciendo en Matlab el comando (help plot). Además, permite representar varias funciones en una misma figura, para ello se deben de agregar todas las variables en un solo plot.
Hay una función asociada al plot, que se debe de tomar en cuenta ya que divide la pantalla gráfica (subplot) en “A” filas y “B” columnas. El formato a ingresar sería de la siguiente manera “subplot(x,y,z)”.
Ejemplo 1:
Representar una señal senoidal y otra cosenoidal en la misma figura entre 0 y 6π (tres periodos de la señal senoidal).
>> t=(0:0.1:6*pi);	//El valor inicial de t es 0 incrementandose en 0.1 hasta llegar a +6ϖ
>> x=sin(t);		//Se crea la función seno.
>> y=cos(t);		//Se crea la función coseno.
>> plot(t,x,'b',t,y,'c+')	//Se grafican ambas funciones en una misma figura escogiendo la forma y el color del ploteado.
>> title('ejemplo funcion seno coseno');
>> xlabel('tiempo');
>> ylabel('seno/coseno');
>> gtext('valor nulo');
>> gtext('valor maximo');
>> gtext('valor minimo');
Ejemplo 2:
Se desea representar ahora las señales senoidal y cosenoidal en la misma ventana de figuras pero por separado, por lo que se usa subplot, de este modo:
>> subplot(2,1,1);		//Se elige la figura para la primera fila
>> plot(t,x,'b');
>> grid;
>> title('Función Seno');
>> xlabel('Tiempo');
>> ylabel('Seno');
>> subplot(2,1,2);		//Se elige la figura para la segunda fila
>> plot(t,y,'c+');
>> grid;
>> title('Función Coseno');
>> xlabel('Tiempo');
>> ylabel('Coseno')
Ejercicios:
1. Introducir la función de transferencias:
>> num=[1,2,3];
>> dem=[1,3,3,1];
>> sys=tf(num, dem)
sys =
 
 s^2 + 2 s + 3
 ---------------------
 s^3 + 3 s^2 + 3 s + 1
 
Continuous-time transfer function.
2. Creando un archivo .m:
>> step(num,dem,0:0.1:3)
>> j=0.01;
>> b=0.1;
>> k=0.01;
>> r=1;
>> l=0.5;
>> n=k;
>> d=[(j*l) ((j*r)+(l*b)) ((b*r)+k^2)];
>> sys=tf(n,d)
sys =
 
 0.01
 ---------------------------
 0.005 s^2 + 0.06 s + 0.1001
Continuous-time transfer function.
>> step(n,d,0:0.1:3)
>> title('Gráfica de la función')
3. Cargue una G(s) que tiene ceros en -1 y -2, polos en -10,-3+3i.
>> z=[-1,-2];
>> p=[-10,-3+3i,-3-3i];
>> h=zpk(z,p,5)
h =
 
 5 (s+1) (s+2)
 ----------------------
 (s+10) (s^2 + 6s + 18)
 
Continuous-time zero/pole/gain model.

Continuar navegando