Sei sulla pagina 1di 25

1. TTULO DEL PROYECTO Introduccin a Matlab 2.

INTEGRANTES DEL EQUIPO Campos Julca, Cristhiam Daniel Santamaria Calderon, Darwin 3. OBJETIVOS Recordar y aprender las nuevas instrucciones del programa MATLAB, las cuales se utilizarn en el curso de control digital. 4. INTRODUCCIN MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados clculos matemticos y la visualizacin grfica de los mismos. MATLAB integra anlisis numrico, clculo matricial, proceso de seal y visualizacin grfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribiran tradicionalmente, sin necesidad de hacer uso de la programacin tradicional. La primera versin de matlab data de los aos 70, y fue diseada como herramienta de apoyo para los cursos de Teora de Matrices, lgebra Lineal y Anlisis Numrico. El nombre matlab es un acrnimo: MATrix LABoratory. Hoy en da, matlab es un programa muy potente, con un entorno agradable, que incluye herramientas de clculo cientco y tcnico y de visualizacin grca, as como un lenguaje de programacin de alto nivel MATLAB dispone tambin en la actualidad de un amplio abanico de programas de apoyos especializados, denominados Tollboxes, que extienden significativamente el nmero de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prcticamente casi todas las reas principales en el mundo de la ingeniera y la simulacin, destacando entre ellos el 'toolbox' de proceso de imgenes, seal, control robusto, estadstica, anlisis financiero, matemticas simblicas, redes neurales, lgica difusa, identificacin de sistemas, simulacin de sistemas dinmicos, etc., es un entorno de clculo tcnico, que se ha convertido en estndar de la industria, con capacidades no superadas en computacin y visualizacin numrica. Dentro de los Toolboxes se dispone del programa Simulink que es un entorno grfico interactivo con el que se puede analizar, modelizar y simular la dinmica de sistemas lineales y no lineales. MATLAB esta disponible para un amplio nmero de plataformas: Estaciones de trabajo SUN. Apollo. VAXstation y HP. VAX, MicroVAX.

Gould. Apple Macintosh. PC AT compatibles 80386 y superiores.

Opera bajo sistemas operativos UNIX, Macintosh y Windows. MATLAB es el principal producto para computacin numrica, anlisis y visualizacin de datos. Como un anexo de MatLab y que interactan con l en lenguaje de MatLab y lenguaje de bajo nivel C. Entre los Toolboxes (herramientas para solucionar y resolver problemas de aplicacin especfica) se puede mencionar como ejemplo el Simulink, que se utiliza para simulacin y modelado de sistemas no lineales avanzado MATLAB goza en la actualidad de un alto nivel de implantacin en escuelas y centros universitarios, as como en departamentos de investigacin y desarrollo de muchas compaas industriales de todo el mundo. En entornos universitarios, por ejemplo, MATLAB se ha convertido en una herramienta bsica, tanto para los profesionales e investigadores de centros docentes, como una importante herramienta para impartir cursos universitarios, tales como sistemas e ingeniera de control, lgebra lineal, proceso digital de imagen, matemtica aplicada para Ingenieros, procesamiento de seales, mecatrnica, robtica, inteligencia artificial, fsica, laboratorios de aplicaciones, etc. En el mundo industrial, MATLAB, est siendo utilizado como herramienta de investigacin para la resolucin de problemas planteados en la realizacin y aplicacin de modelos matemticos en ingeniera. Los usos ms caractersticos de la herramienta se encuentran en reas de computacin y clculo numrico, prototipaje algortmico, control automtico, estadstica, anlisis de series temporales para el proceso digital de seal, interfase para comando de sistemas fsicos reales, etc. 5. RESULTADOS 1) Realice y documente todos los experimentos indicados en el procedimiento de esta prctica. MANEJO DE VECTORES En la presente la operacin en el espacio de trabajo de Mat-Lab se realiza las diferentes formas de representar un vector: >> X= [0 1 2 3 4] X= 0 1 2 3 4

>> Y= [0:0.1:20] Y= Columns 1 through 13

0 0.9000

0.1000 1.0000

0.2000 1.1000

0.3000 1.2000

0.4000

0.5000

0.6000

0.7000

0.8000

Columns 14 through 26 1.3000 1.4000 1.5000 1.6000 2.2000 2.3000 2.4000 2.5000 Columns 27 through 39 2.6000 2.7000 2.8000 2.9000 3.5000 3.6000 3.7000 3.8000 Columns 40 through 52 3.9000 4.0000 4.1000 4.2000 4.8000 4.9000 5.0000 5.1000 4.3000 4.4000 4.5000 4.6000 4.7000 3.0000 3.1000 3.2000 3.3000 3.4000 1.7000 1.8000 1.9000 2.0000 2.1000

As consecutivamente hasta llegar a la columna 196 fila 201: Columns 196 through 201 19.5000 19.6000 19.7000 19.8000 19.9000 20.0000

>> Z= [0 0 0 1 1 1 1 0 0] Z= 0 0 0 1 1 1 1 0 0

Como se muestra en los siguientes cdigos en el espacio de trabajo de Mat-Lab, se puede representar matrices de elementos ceros y unos mediante los comandos Zeros y Ones respectivamente, donde los nmeros entre parntesis representan las filas y las columnas en el orden indicado.

>> Z= zeros (1, 3) Z= 0 0 0

>> T= ones (1, 4) T= 1 1 1 1

>> H= zeros (1, 2) H= 0 0

Mediante la agrupacin entre corchetes de los comandos Zeros y Ones se puede generar vectores combinados, como se muestra en la siguiente operacin: >> J= [zeros (1,3) ones(1,4)] J= 0 0 0 1 1 1 1

>> G= [zeros (2, 3) ones (2)] G= 0 0 0 0 0 0 1 1 1 1

En las siguientes operaciones se muestra la matriz W, su transpuesta y longitud generada en Mat Lab: >> W= [1 2 3] W= 1 2 3

>> W= [1 2 3]' W= 1 2 3 >> Length (W) ans = 3 MANEJO DE MATRICES En la presente la operacin en el espacio de trabajo de Mat-Lab se realiza las como se debe introducir una matriz: >> A= [1 2 3; 4 5 6; 7 8 9] A= 1 4 7 2 5 8 3 6 9

Estas instrucciones indican, en su orden respectivo, que se desea desplegar la submatriz de A de tal manera manera que los elementos son aleatorios, que comprende los dos primeros renglones y las dos primeras columnas; La submatriz de A con los tres renglones y la primera columna: >> A (1:2, 1:2) ans = 1 4 2 5

>> A (:, 1) ans = 1 4 7 Las siguientes operaciones generan la traza de A, los valores propios de A, y el polinomio caracterstico de A respectivamente: >> trace (A) ans = 15 >> eig (A) ans = 16.1168 -1.1168 -0.0000 >> poly (A) ans = 1.0000 -15.0000 -18.0000 -0.0000

POLINOMIOS En Mat-Lab, los polinomios se representan como vectores, donde los elementos son los coeficientes respecto al orden decreciente del exponente de la variable. As por ejemplo, sean el polinomio siguiente: >> %Polinomios >> P= [1 2 1]; Q= [1 1]; Para poder multiplicar polinomios se utiliza la instruccin conv seguido entre parntesis y separado por una coma los polinomios: >> %Multiplicacin de Polinomios P y Q >> W=conv (P, Q) W= 1

Para poder dividir polinomios se utiliza la instruccin deconv seguido entre parntesis los polinomios y separados por una coma, pero anteriormente definiendo las variables Cociente y Residuo, con las letras C y R respectivamente entre parntesis separadas con una coma, como se muestra: >> %Divisin de Polinomios P y Q >> [C, R] = deconv (W, P) C= 1 R= 0

FUNCIN DE TRANSFERENCIA Para poder representar la funcin de transferencia en Mat Lab se define primero los polinomios que se representan como vectores, donde los elementos son los coeficientes respecto al orden decreciente del exponente de la variable s. Donde la representacin sea ase mediante la denominacin nums para representar el numerador y dens el denominado, despus se utiliza la instruccin tf seguido entre parntesis las denominaciones nums y dens; como se muestra a continuacin: >> %Funcin de Transferencia >> nums =[4 5 6];dens=[7 4 8 5 1 3]; >> H1=tf(nums, dens) H1 = 4 s^2 + 5 s + 6 ------------------------------------7 s^5 + 4 s^4 + 8 s^3 + 5 s^2 + s + 3 Continuous - time transfer function.

Para representar la funcin de transferencia de un sistema discreto se debe agregar en la instruccin tf el perodo de muestreo del sistema, por ejemplo T=0.1. Como se muestra a continuacin >> H2=tf(nums,dens,0.1) H2 = 4 z^2 + 5 z + 6 ------------------------------------7 z^5 + 4 z^4 + 8 z^3 + 5 z^2 + z + 3 Sample time: 0.1 seconds Discrete - time transfer function.

MATEMTICA SIMBOLICA Para poder identificar las variables simblicas en Mat - Lab se usa la instruccin syms seguido de las variables simblicas que vamos a usar en nuestro espacio de trabajo: >> %MATEMATICA SIMBOLICA >> syms s T x y z >> s= (z-1)/T >> s = (z - 1)/T >> x=s/(s-1) x= (z - 1)/(T*((z - 1)/T - 1)) >> y=simplify(x) y= -(z - 1)/(T - z + 1)

RESPUESTAS TRANSITORIA DE UN SISTEMA ESCALON RESPUESTA ESCALON En Matlab, esta respuesta est dada por la instruccin step y se ocupa de la siguiente forma: step(nums,dens,vt), donde nums y dens representan a un sistema determinado, y vt es el vector de tiempo utilizado en la simulacin:

>> %RESPUESTA ESCALON >> nums =[4 5 6];dens=[7 4 8 5 1 3];vt=[0:0.1:20]; >> step (nums,dens,vt)

Grafica 5.1 - Respuesta escaln de una funcin de transferencia en cual se pude ver que su pico mximo se encuentra a una amplitud de 150 y es un sistema inestable. GRAFICAS EN RESPUESTA TRANSITORIA Las graficas en Mat - Lab pueden ser individuales o superpuestas en una sola pantalla o despliegue, o bien, en varios despliegues en una sola pantalla. As mismo, los clculos relativos a las funciones graficadas pueden guardarse en sus respectivas variables. La instruccin anterior de step, sin referencia a una o unas variables, pierde el efecto de guardar estos clculos. Sea pues, la siguiente instruccin: %GRAFICAS EN RESPUESTA TRANSITORIA >> nums=[4 5 6];dens=[7 4 8 5 1 3];vt=[0:0.1:20]; >> [x, y]=step(nums,dens,vt) x= 0 0.0001 0.0008 0.3143 0.3896 0.4762 0.5747 0.6858 0.8101 0.9481 1.1003

1.2671 Asi consecutivamente hasta el valor -498.7144 -498.7144 y= [] >> [y1, x1]= step(nums,dens,vt) y1 = 0 0.0001 0.0008 0.0027 0.0065 0.0129 0.0226 0.0364 0.0550 0.0793 0.1101 0.1482 0.1944 0.2495 0.3143 0.3896 0.4762 0.5747 0.6858 0.8101 0.9481 1.1003 1.267 Asi consecutivamente hasta el valor -498.7144 -498.714

x1 = [] >> plot(vt,y1,'y-',vt,x,'r-')

Grafica 5.2 - Grafica de una respuesta transitoria mediantes las coordenadas X y Y, en cual se pude ver que su pico mximo se encuentra a una amplitud de 150 y es un sistema inestable

ESCALAMIENTO DE GRAFICAS Muy a menudo se desea modificar las escalas de la grfica, ya sea para amplificar la seal o bien, para analizar una regin en particular. La instruccin en este caso puede ser como sigue: axis ([a b c d]) Donde a y b son los lmites inferior y superior de las abscisas, mientras que c y d son de las ordenadas. De la grafica anterior tomamos el escalamiento grafico para 12 y 16 en x y -100 y 100 en y Axis ([12 16 -100 100])

Grafica 5.3 Escalamiento grafico mediante el comando Axis para la grafica 1.2.

UTILIZACION DEL EDITOR DE MATLAB Mediante el editor de Mat - Lab se pueden generar archivos m* que son de mucha utilidad para casos especiales en la resolucin de problemas donde se necesita de comandos de programacin para poder simplificar y generalizar su desarrollo.

Grafica 5.4 Pantalla del editor de Mat-Lab PROGRAMA EN EL EDITOR DE MATLAB %UNIVERSIDAD PANAMERICANA %INGENIERIA MECATRONICA %LABORATORIO DE CONTROL DIGITAL %PRCTICA NMERO 1 %INTRODUCCIN A MATLAB %RESPUESTA TRANSITORIA DE SISTEMAS DE CONTROL CONTINUO %datos del sistema va=input('Valores del parametro a por analizar (magnitud creciente) :[a1 a2 ... an]:') for n=1:length(va) nums=(1/va(n))*[1 va(n)]; dens=[1 1 1]; vt=[0:0.1:20]; y=step(nums,dens,vt); subplot(1,length(va),n) plot(vt,y,'r-') x=num2str(va(n)); title('H(s)=(1/a)(s+a)/(s^2+s+1).') [a,b]=ginput(1); text(a,b,'Parametro a=') [c,d]=ginput(1);

text(c,d,x) xlabel('Tiempo (segundos)') ylabel('Salida Y') end

VISUALIZACION DEL PROGAMA EN EL ESPACIO DE TRABAJO DEL MATLAB: >> Programa_sistema_Continuo Valores del parmetro a por analizar (magnitud creciente) : [a1 a2 ... an]:0.1 va = 0.1000

Grafica 5.5 - Respuesta escaln de una funcin de transferencia en cual se pude ver que su pico mximo se encuentra a una amplitud de 5.9 en un tiempo 2.8 y el sistema se estabiliza en una amplitud de 1 y en un tiempo de 11.3

>> Programa_sistema_Continuo Valores del parmetro a por analizar (magnitud creciente) :[a1 a2 ... an]:1 va = 1

Grafica 5.6 - Respuesta escaln de una funcin de transferencia en cual se pude ver que su pico mximo se encuentra a una amplitud de 1.3 en un tiempo 2.2 y el sistema se estabiliza en una amplitud de 1 y en un tiempo de 11.1.

2) Escriba un programa en Mat - Lab donde, dada la matriz A de 3x3, puedan obtenerse su inversa, su cuadrado, sus valores propios y su polinomio caracterstico. Verifique analticamente sus resultados. PROGRAMA 1 Clc Clear %UNIVERSIDAD PANAMERICANA %INGENIERIA MECATRONICA %LABORATORIO DE CONTROL DIGITAL %PRCTICA NMERO 1 %INTRODUCCIN A MATLAB %OPERACIONES CON UNA MATRIZ A= [ 1 3 7 ; 2 6 9 ; 8 4 7] Inversa_A = inv(A) Cuadrado_A= A^2 Valores_Propios_A= eig(A) Polinomio_A =poly(A)

VISUALIZACION DEL PROGRAMA 1 EN EL ESPACIO DE TRABAJO DE MATLAB >> Programa_Matrices_1 A= 1 2 8 3 6 4 7 9 7

Inversa_A = -0.0600 -0.0700 0.1500 -0.5800 0.4900 -0.0500 0.4000 -0.2000 0

Cuadrado_A = 63 86 72 49 83 78 131 76 141

Valores_Propios_A = 16.2656 -3.8588 1.5932

Polinomio_A = 1.0 -14.0000 -43.0000 100.0000

PROGRAMA 2 Clc Clear %UNIVERSIDAD PANAMERICANA %INGENIERIA MECATRONICA %LABORATORIO DE CONTROL DIGITAL %PRCTICA NMERO 1 %INTRODUCCIN A MATLAB %OPERACIONES CON UNA MATRIZ a1=input('Valores del elemento 1x1 de la matriz A:'); a2=input('Valores del elemento 1x2 de la matriz A:'); a3=input('Valores del elemento 1x3 de la matriz A:'); a4=input('Valores del elemento 2x1 de la matriz A:'); a5=input('Valores del elemento 2x2 de la matriz A:');

a6=input('Valores del elemento 2x3 de la matriz A:'); a7=input('Valores del elemento 3x1 de la matriz A:'); a8=input('Valores del elemento 3x2 de la matriz A:'); a9=input('Valores del elemento 3x3 de la matriz A:'); A= [ a1 a2 a3 ;a4 a5 a6 ; a7 a8 a9] Inversa_A = inv(A) Cuadrado_A= A^2 Valores_Propios_A= eig(A) Polinomio_A =poly(A) VISUALIZACION DEL PROGRAMA 2 EN EL MATLAB Programa_Matrices_2 Clc Clear Valores del elemento 1x1 de la matriz A:1 Valores del elemento 1x2 de la matriz A:3 Valores del elemento 1x3 de la matriz A:7 Valores del elemento 2x1 de la matriz A:2 Valores del elemento 2x2 de la matriz A:6 Valores del elemento 2x3 de la matriz A:9 Valores del elemento 3x1 de la matriz A:8 Valores del elemento 3x2 de la matriz A:4 Valores del elemento 3x3 de la matriz A:7 A= 1 2 8 3 6 4 7 9 7 ESPACIO DE TRABAJO DE

Inversa_A = -0.0600 -0.0700 0.1500 -0.5800 0.4900 -0.0500 0.4000 -0.2000 0 Cuadrado_A = 63 86 72 49 83 78 131 76 141

Valores_Propios_A = 16.2656 -3.8588 1.5932 Polinomio_A = 1.0 -14.0000 -43.0000 100.0000

3) Obtener 4 cocientes y residuos consecutivos de la funcin H(z)=z/(z-1)^2. Si H(z)=h(0)+h(1)z-1 +h(2)z-2 +h(3)z-3, que funcin representan los coeficientes h(k) de z, con k=0, ..., 4? Realice un programa para graficar h (k) y H(z). %GRAFICA DE h(k) y H(z) k=0:4; y=[0,1,2,3,4]; subplot (1,2,1) plot (k,y,'ro') xlabel ('k') ylabel ('y(k)') nums=[1,0]; dens=[1,-2,1]; vt=[0:1:4]; Subplot (1,2,2) dstep (nums,dens,vt) title ('respuesta h(z)' title ('respuesta h(z)') xlabel ('time kt') ylabel ('y(k)')

4) Utilice el programa intmatlab.m para valores de parmetro a= [0.01, 0.1, 1, 100]. Y despus para a= [100, 1, 0.1, 0.01]. Qu concluye de lo observado? %UNIVERSIDAD PANAMERICANA %INGENIERIA MECATRONICA %LABORATORIO DE CONTROL DIGITAL %PRCTICA NMERO 1 %INTRODUCCIN A MATLAB %RESPUESTA TRANSITORIA DE SISTEMAS DE CONTROL CONTINUO %datos del sistema va=input('Valores del parametro a por analizar (magnitud creciente) :[a1 a2 ... an]:') for n=1:length(va) nums=(1/va(n))*[1 va(n)]; dens=[1 1 1]; vt=[0:0.1:20]; y=step(nums,dens,vt); subplot(1,length(va),n) plot(vt,y,'r-') x=num2str(va(n)); title('H(s)=(1/a)(s+a)/(s^2+s+1).') [a,b]=ginput(1); text(a,b,'Parametro a=') [c,d]=ginput(1); text(c,d,x) xlabel('Tiempo (segundos)') ylabel('Salida Y') end a) a= [0.01, 0.1, 1, 100] >> Programa_sistema_Continuo Valores del parametro a por analizar (magnitud creciente) :[a1 a2 ... an]:[0.01, 0.1, 1, 100] va = 0.0100 0.1000 1.0000 100.0000

En el primer subplot generado, su pico mximo se da con una amplitud de 55 y en 2.5 segundos; el cual encuentra su estabilidad en 14 segundos con una amplitud de 1. En el segundo subplot su pico mximo se alcanza a 5.9 de amplitud en un tiempo de 3 segundos; y encuentra su estabilidad a 14 segundos y una amplitud de 1. En el tercer subplot su pico mximo se alcanza a una amplitud de 1.3 y en tiempo de 4 segundos y alcanza su estabilidad en una amplitud de 1 y en un tiempo 15 segundos. En el cuarto subplot su pico mximo se alcanza en la amplitud de 1.18 y en un tiempo 4 segundos y alcanza su estabilidad en una amplitud de 1 y un tiempo de 14 segundos.

b) b= [0.01, 0.1, 1, 100] >> Programa_sistema_Continuo Valores del parametro a por analizar (magnitud creciente) :[a1 a2 ... an]:[100, 1, 0.1, 0.01] va = 100.0000 1.0000 0.1000 0.0100

En el primer subplot su pico mximo se alcanza en la amplitud de 1.18 y en un tiempo 4 segundos y alcanza su estabilidad en una amplitud de 1 y un tiempo de 14 segundos. En el segundo subplot su pico mximo se alcanza a una amplitud de 1.3 y en tiempo de 4 segundos y alcanza su estabilidad en una amplitud de 1 y en un tiempo 15 segundos. En el tercero subplot su pico mximo se alcanza a 5.9 de amplitud en un tiempo de 3 segundos; y encuentra su estabilidad a 14 segundos y una amplitud de 1. En el cuarto subplot generado, su pico mximo se da con una amplitud de 55 y en 2.5 segundos; el cual encuentra su estabilidad en 14 segundos con una amplitud de 1.

De los resultados obtenidos en el caso a y b podemos decir que representando los valores de los parmetros para el programa intmatlab.m en forma de un vector creciente o decreciente con los mismos elementos, genera los mismos subplots pero en el orden ingresado.

6. CONCLUSIONES 6.1) CONCLUCION 1 - (Campos Julca, Daniel) La herramienta matemtica como el MATLAB, es indispensable para visualizar el comportamiento de los diferentes fenmenos fsicos que envuelven la naturaleza; en donde, hoy en da se busca controlar dichos fenmenos para tener un funcionamiento ptimo de cualquier dispositivo. Ante ello nace el control de sistemas. Como se observa en el desarrollo del laboratorio, la plataforma matemtica de dicho programa presenta varias grficas en donde se observa el comportamiento de determinados polinomios en determinados instantes de tiempo. Estos polinomios pueden representar algn fenmeno fsico en particular, el cul se puede controlar a partir del estudio de dichas grficas obtenidas. Como experiencia personal, se me hizo un poco difcil recordar el manejo del programa MATLAB, no obstante con la prctica se vuelve un programa fcil de usar y de gran importancia para el complemento de las materias impartidas de ingeniera, ya que despejarn las dudas que se tiene acerca del comportamiento de un fenmeno en particular. Matlab cuenta con un gran listado de comandos, por lo que se me hace un poco tedioso tomar en cuenta cada uno de ellos, para ello es necesario siempre utilizar la opcin de ayuda para buscar el comando deseado. Por otro lado la plataforma de grficas es una de las que ms me llama la atencin ya que podemos interpretar el grafico de acuerdo a los datos ingresados al programa, para lo cul deben ser trabajados detalladamente y con mucho orden.

6.1) CONCLUCION 2 - (Santamaria Calderon, Darwin) Mat Lab es una herramienta de mltiples aplicaciones que permite al usuario desempear todo tipo de operaciones lgicas y matemticas, adems de poseer un espacio de programacin que permite dar solucin a problemas muy complejos. Adems que puede generar las soluciones graficas de las ecuaciones de transferencia de manera muy sencilla , cosa que a mano seria casi imposible de hacer , lo cual mediante esta grafica se puede interpretar los resultados y proceder a hacer algn cambio en los valores de la ecuacin para poder mejorar su tiempo de respuesta, estabilidad, pico mximo , etc. Los problemas que se tuvo al desarrollar esta practica estuvieron bsicamente en la introduccin correcta de los smbolos y instrucciones para cada uno de los puntos de la practica, para lo cual se pude decir que si te equivocas en la introduccin de un smbolo en el espacio de trabajo, tendrs que repetir la operacin porque automticamente mat-lab te arrojara error. Por lo contrario si generas un archivo m. con los misma operacin hecha en el espacio de trabajo tendrs la opcin de corregirla si en caso apareciera un error, y no repetir todo las instrucciones como en el espacio de trabajo. Personalmente matlab es una gran herramienta de ayuda para todo las personas que estn inmiscuidas en la simulacin y modelado de sistemas , pues garantiza un gran desempeo en torno a las graficas generadas y a la facilidad de resolucin de las ecuaciones de transferencia.

7. INVESTIGACIN INDIVIDUAL (Campos Julca , Daniel) Para el tratamiento mediante funciones de transferencia, se utilizan comandos en MATLAB para el estudio de sistemas discretos: [Nz,Dz] = c2dm (N,D,Ts,metodo) : Discretizacin de un modelo en tiempo continuo, cuya funcin de transferencia viene dada por los polinomios numerador y denominador. Como tercer parmetro se especica el periodo de muestreo. El ltimo parmetro proporciona una cadena de caracteres que indica el mtodo con el que se va hacer la discretizacin, las posibilidades son: zoh: Discretizacin utilizando mantenedor de orden cero (ZOH). Es la opcin por defecto. foh: Discretizacin utilizando mantenedor de orden uno (FOH). tustin: Discretizacin mediante aproximacin trapezoidal. prewarp: Discretizacin trapezoidal con prewarping. matched: Discretizacin mediante emparejamiento de polos y ceros

Se echa de menos en esta funcin la posibilidad de usar otros mtodos de discretizacin como son el rectangular hacia delante o hacia atrs. Tambin da numerosos problemas cuando se intenta discretizar una

funcin no propia (como pueda ser la funcin de transferencia de un controlador PID). No es el nico comando de matlab que tiene esta limitacin. [N,D] = d2cm (Nz,Dz,Ts,metodo): Se trata de la funcin contraria a la anterior. Transforma un sistema discreto en uno continuo, mediante alguno de los mtodos citados. dstep(Nz,Dz): Calcula la respuesta temporal de un sistema discreto a una secuencia escaln. Esta funcin dibuja directamente la respuesta. Esta representacin no tendr en el eje horizontal valores temporales absolutos, sino que aparecern mltiplos del periodo de muestreo. Por otro lado, si indicamos un parmetro de salida en la llamada al comando, y = dstep (Nz,Dz); no se realiza la representacin, deberemos hacerlo nosotros mismos. En este caso, sera conveniente pintar la curva con puntos, en lugar de con un trazo continuo (como por defecto hace el comando plot. Ejemplo: N = [0.2 0.3 1]; D = [1 0.9 1.2 0.5]; [Nz,Dz] = c2dm (N,D,1,zoh); y = dstep (Nz,Dz); plot (y,.);title (Respuesta escal{\o}n de un sistema discreto); xlabel (Periodo de muestreo); ylabel (Salida); grid;

Figura: Respuesta ante escaln de un sistema discreto, mostrando slo valores en instantes de muestreo (izq); mostrando salida continua, mantenida entre periodos de muestreo (der)

La aplicacin del MATLAB es muy importante en diversos campos del control como por ejemplo: Control predictivo basado en modelos aplicado a un sistema de calentamiento de aire usando MATLAB y SIMULINK; en donde se presentan los resultados al aplicar estructuras de control MPC (Modelo de Control Predictivo), PID (Proporcional Integral Derivativo) y PI (Proporcional Integral) a un sistema de calentamiento de aire tipo SISO empleando el software MATLAB y su adjunto Simulink. Se estableci que el MPC es una estructura de control que garantiza el control de la temperatura del aire, es capaz de anticiparse a posibles perturbaciones sobre el sistema basado en la prediccin de las futuras seales de control y la minimizacin del error de la variable de salida con respecto a la referencia establecida. Para ello se debe contar con un modelo muy confiable de la planta y conocer sus parmetros caractersticos. Se demostr que es necesaria la sintonizacin para cualquier estructura de control y que para el caso de los controles predictivos no existe un mtodo especfico por lo que se hace necesario realizar pruebas de tanteo y error para optimizar los parmetros del controlador. Determinados los parmetros ptimos de la planta, se someti a diferentes perturbaciones, como cambios en la temperatura de referencia, interrupcin del sistema de calentamiento y desconexin del suministro de energa al hardware de control. Se elabor una comparacin de los resultados obtenidos, analizando los tiempos de respuesta, estabilidad y sobrepaso presentados entre el DMC y las estructuras clsicas de control PI y PID, encontrando al primero con menor tiempo de estabilizacin a pesar de que puede llegar a presentarse un mayor sobrepaso, sin ser muy significativo debido a que no se aleja demasiado de la banda de estabilizacin. Finalmente se efecto el montaje del equipo y se desarroll en GUI (Interface grfica) donde se permite manipular con mucha facilidad los parmetros del sistema. 8. INVESTIGACION INDIVIDUAL (Santamara Caldern , Darwin) Programando en Mat Lab Matlab permite a la hora de programar una serie de elementos tpicos para la modicacin del ujo de una secuencia de instrucciones. La sintaxis es muy parecida a la de cualquier lenguaje de programacin. Todos estos operadores se pueden usar en la ventana de comandos, en lnea, o en un chero .m 8.1) Operadores lgicos y relacionales Permiten la comparacin de escalares (o de matrices elemento a elemento). Si el resultado de la comparacin es verdadero, devuelven un 1, en caso contrario devuelven un 0. Los operadores elementales son: < Menor que; <= menor o igual; == igual > Mayor que; >= mayor o igual; = no igual

Es importante no dejar espacios entre los operadores formados por dos smbolos. Si los datos a comparar son matrices, la comparacin se hace elemento a elemento, devolviendo una matriz binaria. 8.2) Bucles y estructuras condicionales En esta seccin se explica una serie de comandos importantes a la hora de hacer un programa en matlab: for, while, if-else. for La sintaxis de este comando es la siguiente: for variable = expresin hacer algo; end La expresin es un vector, una matriz o cualquier comando de matlab que produzca como salida un vector o una matriz. La ejecucin se realiza una vez por cada elemento del vector o de una columna de la matriz. Tanto los bucles como las estructuras condicionales se terminan con end.

Presentamos un primer ejemplo en el que la variable i toma los valores 10, 9,..., 1: for i=10:-1:1 kk(11-i)=i; end Es importante evitar en lo posible el uso de bucles en Mat - Lab, ya que consumen mucho tiempo, pudiendose en muchos casos realizar las mismas operaciones de una forma mas eciente y compacta. While

Permite implementar bucles condicionales. Su sintaxis es: while expresin hacer algo; end La expresin es de la forma X operador Y, donde X e Y son escalares o expresiones que devuelven escalares y los operadores suelen ser operadores relacionales. En el siguiente ejemplo se busca una matriz aleatoria estable (parte real de autovalores negativa): A = randn(2); % Genera nmeros aleatorios con distribucin normal while max(real(eig(A))) >= 0 A=randn(2); end; eig(A)

if, else, elseif

La sintaxis es la siguiente: if expresin 1 hace algo elseif expresin 2 hace algo else hace algo end else y elseif son opcionales.

8.3) FICHEROS .M Matlab puede ejecutar programas que se encuentren almacenados en cheros ASCII que pueden encontrarse en alguno de los subdirectorios indicados en el camino de bsqueda o bien en el subdirectorio de trabajo actual y tengan adems extensin .m. Hay dos tipos de cheros .m: script les y function les Scripts Son cheros .m en los que se ponen secuencialmente comandos de matlab que se ejecutan en ese orden al introducir el nombre del chero .m (sin extensin). Operan globalmente con los datos que se encuentran en la memoria. Los ejemplos que ilustran estas notas son en s script-les, pues llevan un conjunto de comandos matlab y comentarios. Funciones Una funcin puede tener mltiples parmetros de entrada y salida. Numerosos ejemplos de funciones sern utilizados en las demostraciones. Para nalizar, comentar que existen una serie de utilidades a la hora de programar en matlab. function [out1,out2,...] = nombre_fichero (in1,in2,...) % Comentarios adicionales para el help comandos de MATLAB return; Las ms comunes son: Pause: Para la ejecucin hasta que se pulsa una tecla. Puede usarse para pausar la ejecucin durante un numero de segundos determinado, en lugar de esperar a que se pulse una tecla: pause(n). Disp: Muestra una cadena de caracteres por pantalla.

Input: Muestra una cadena de caracteres por pantalla y espera a que el usuario introduzca un valor, que generalmente ser asignado a una variable.

9. BIBLIOGRAFA Vargas, Manuel (2004). Introduccin a MATLAB y su aplicacin al anlisis y control de sistemas. Universidad de Sevilla. Pg. 52-53. Rojas Jos et al (2007). Control predictivo basado en modelos aplicado a un sistema de calentamiento de aire usando MATLAB y SIMULINK. Universidad Nacional de Colombia. Universidad de Sevilla. Escuela Superior de Ingeniera. Tutorial de Introduccin
a Matlab.http://www.esi2.us.es/~vargas/docencia/cpc/guiasMatlab/tutorialMatlab.pdf

Potrebbero piacerti anche