Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Introduccion a matlab y simulink

on

  • 7,914 views

 

Statistics

Views

Total Views
7,914
Views on SlideShare
7,913
Embed Views
1

Actions

Likes
0
Downloads
181
Comments
1

1 Embed 1

http://saia.uft.edu.ve 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • muy bueno
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduccion a matlab y simulink Introduccion a matlab y simulink Document Transcript

  • MATLAB Y SIMULINK<br />MATLAB (abreviatura de MATrix LABoratory, " laboratorio de matrices" ) es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X.<br />Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).<br />Transformada de Laplace<br />Matlab permite obtener transformadas y antitransformadas de Laplace mediante su módulo de matemática simbólica.<br />Procedimiento:<br />Declarar una variable simbólica con la instrucción syms. <br />Obtener la transformada para una expresión definida utilizando la variable simbólica anterior.<br />Instrucciones de Matlab correspondientes a cada una de las transformadas:<br />laplace: transformada de Laplace <br />ilaplace: transformada inversa de Laplace<br />Para calcular transformadas de Laplace, MATLAB utiliza el comando laplace(f(t)) que se encuentra en el toolbox simbólico. Por defecto la variable de integración es 't' y sólo es necesario definir las variables y constantes simbólicas que se utilicen por medio del comando sym.<br />Para calcular la transformada inversa de Laplace, MATLAB utiliza el comando ilaplace(f(s)), siendo s la variable independiente por deecto. Este comando devuelve el resultado en función de 't', también aquí es necesario definir las variables y constantes simbólicas que se utilicen por medio del comando sym.<br />Ejemplo 1: Calcular la transformada de Laplace de ft=4-4e-0.5t<br />%------------------------------------------------------------------------%REG.AUTOMATICA Y MATLAB%En este ejemplo calcularemos la transformada de Laplace de una función%------------------------------------------------------------------------% Primero definimos la variable tsyms t;% Luego introducimos la función que queremos transformarf=(4-4*exp(-0.5*t));%introducimos el comando laplace ans=laplace(f)% para arreglar el resultadopretty(ans)<br />4/s-4/(s+1/2)El primer resultado nos lo da el matlab directamente, si queremos que se vea mejor utilizamos el comando pretty(ans)<br />Ejemplo 2: Calcular la transformada inversa de la siguiente función Fs=s+5s2+3s+2<br />%------------------------------------------------------------------------%REG.AUTOMATICA Y MATLAB%En este ejemplo veremos como se calcula la antitransformada de una función%------------------------------------------------------------------------% Definimos la variable ssyms s%introducimos la función que queremos antitranformarf=(s+5)/(s^2+3*s+2);%Aplicamos el comando ilaplaceans=ilaplace(f)<br />ans=ilaplace(f) ans =-3*exp(-2*t)+4*exp(-t)La antitransformada de la función dada<br />Función de Transferencia<br />Existen dos maneras básicas de representar la función de transferencia en Matlab:<br />A. Usando el comando tf:<br />Para introducir una FT del tipo Gs=Y(s)X(s), usando el comando tf, escribir<br />>>G=tf(num,den)<br />donde num y den son vectores representando los coeficientes de los polinomios n(s) y d(s), respectivamente. El resultado de la variable W es un objeto del tipo TF, conteniendo el numerador y el denominador.<br />Ejemplo: Tenemos 2 sistemas (sys1, sys2) cuyas FT son G1s=s2+2s+3s3+4s2+5s+6 y G2s=3s22s2+6s+3<br />%------------------------------------------------------------------------% REG.AUTOMATICA Y MATLAB % En este ejemplo introduciremos las Fdts de los sistemas sys1, sys2% mediante el comando tf(num,den)%------------------------------------------------------------------------%Definicion del sistema sys1: num1=[1 2 3];% Aqui se define la variable vector del numerador den1=[1 4 5 6]; % y del denominador.sys1=tf(num1,den1); % Creacion del sistema sys1%Definicion del sistema sys2:num2=[3 0 0]; % Atencion con los cerosden2=[2 6 3];sys2=tf(num2,den2);% Visualizacion de las Fdtssys1sys2<br />Transfer function:s^2 + 2 s + 3---------------------s^3 + 4 s^2 + 5 s + 6Transfer function:3 s^2---------------2 s^2 + 6 s + 3<br />B. Mediante modelos ZPK (Zero-Pole-Gain)<br />Una forma alternativa de representar la Fdt, es mediante la factorización del numerador y del denominador:<br />Hs=s-z1…(s-zm)s-p1…(s-pn)<br />La ventaja de esta forma es que los ceros (z) y los polos (k) de la FdT son fáciles de visualizar. La sintaxis para especificar este tipo de modelos es:<br />>>H=zpk(z,p,k) <br />donde,z: Son los ceros de la FT en forma de vector.p: Son los polos de la FT en forma de vector.k: Es la ganancia del sistema.    <br />Ejemplo: Tenemos 2 sistemas (sys1, sys2) cuyas FT son <br />G1s=-2ss-2(s2-2s+2) y G1s=s+1(s+3)ss+2(s+4)<br />% %------------------------------------------------------------% REG.AUTOMATICA Y MATLAB % En este ejemplo introduciremos las FDTs G1(s) y G2(s) % como modelos zpk (zero-pole-gain)%--------------------------------------------------------------% G1(s)% Primero definimos los ceros:z=[0];% Despues los polos:p=[1-i;1+i;2];% y la gananciak=[-2]% Finalmente el comando G1=zpk(z,p,k);% G2(s)z=[-1 -3];p=[0 -2 -4];k=1G2=zpk(z,p,k);% VisualizacionG1G2<br />G1(s)=Zero/pole/gain:-2 s--------------------(s-2) (s^2 - 2s + 2)G2(s)=Zero/pole/gain:(s+1) (s+3)-------------s (s+2) (s+4)<br />C. Pasar de ZPK a TF<br />La función zp2tf convierte la función cero-polo-ganancia:<br />Hs=Ks-z1…(s-zm)s-p1…(s-pn)<br />En la función de transferencia polinómica:<br />Hs=b0sn+b1sn-1+…+bn-1s+bna0sm+a1sm-1+…+bm-1s+bm<br />Su sintaxis es: [num,den]=zp2tf(z,p,k)<br />Ejemplo: Transformar la siguiente función ZPK a TF Gs=s+1(s+3)ss+2(s+4)<br />% %------------------------------------------------------------% REG.AUTOMATICA Y MATLAB % En este ejemplo introduciremos la FDT G(s) %--------------------------------------------------------------% Primero definimos los ceros:z=[-1;-3];% Despues los polos:p=[0;-2;-4];% y la gananciak=1;% Finalmente el comando [num,den]=zp2tf(z,p,k);% Para visualizarlo como FTG=tf(num,den)<br />G(s)= s^2 + 4 s + 3-----------------s^3 + 6 s^2 + 8 s<br />C. Pasar de TF a ZPK<br />La función tf2zp convierte la función de transferencia:<br />Hs=b0sn+b1sn-1+…+bn-1s+bna0sm+a1sm-1+…+bm-1s+bm<br />En la función de transferencia cero-polo-ganancia:<br />Hs=Ks-z1…(s-zm)s-p1…(s-pn)<br />Su sintaxis es: [z,p,k]=tf2zp(num,den)<br />Ejemplo: Transformar la siguiente función TF a ZPK Gs=s2-2s+3s3-3s2-5s<br />% %------------------------------------------------------------% REG.AUTOMATICA Y MATLAB % En este ejemplo introduciremos la FDT G(s) %--------------------------------------------------------------% Primero definimos el numerador:num=[1,-2,-3];% Despues el denominador:den=[1,-3,-5,0];% Finalmente el comando [z,p,k]=tf2zp(num,den);% Para visualizarlo como FTG=zpk(z,p,k)<br />G(s)=Zero/pole/gain: (s-3) (s+1)---------------------s (s-4.193) (s+1.193)<br />Diagramas de Bloque<br />Para hacer mucho más fácil la reducción de los diagramas de bloque utilizaremos la herramienta Simulink incluida en MatLab.<br />Ejemplo: <br />Primeramente entramos en MatLab y hacemos click en la barra en el icono de Simulink:.<br />Una vez en el programa seleccionamos File – New – Model <br />Creamos el modelo que queremos representar:<br />Inserta la entrada (In1) y la salidad (Out1) desplegando Commmonly Used Blocks. De igual forma inserta el punto de suma arrastrándolo a la derecha.<br />Para insertar una función de transferencia, despliega Continuous y selecciona Transfer Fcn y arrastrala a la derecha. <br />Doble click sobre el bloque y puedes cambiar los valores del numerador y denominador.<br />Para invertir el bloque de posición selecciona Format – Flip Block.<br />Para unir con flechas selecciona un extremo y arrastra hasta el siguiente. <br />El resultado debe ser así:<br />Guardamos el proyecto, en este caso “Prueba” en el directorio que él nos indica.<br />Luego escribimos en Matlab el comando [num,den]=linmod('Prueba')<br />% %------------------------------------------------------------% REG.AUTOMATICA Y MATLAB % Reducción de Diagraas de Bloque %--------------------------------------------------------------% Primero el comando[num,den]=linmod('Prueba');% Finalmente el comando para vizualizarloG=tf(num,den)Transfer function: s^3 + 4.885e-015 s^2 - s + 6------------------------------s^4 + 4 s^3 + 4 s^2 - 12 s + 9<br />