



















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: control de procesos, Profesor: ^^ lol, Carrera: Ingeniería Electrónica Industrial y Automática, Universidad: UNIRIOJA
Tipo: Apuntes
1 / 27
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




















MatLab (MATrix LABoratory) es un programa para realizar cálculos numéricos con vectores y matrices. Una de las capacidades más atractivas es la de realizar una amplia variedad de gráficos en dos y tres dimensiones.
MatLab es un gran programa de cálculo técnico y científico, que tiene su propio lenguaje de programación. Dicho lenguaje, es una herramienta de alto nivel para desarrollar aplicaciones técnicas fáciles de utilizar.
Al arrancar MatLab se abre una ventana como la indicada en la Figura 1.
Figura 1 Ventana Inicial
La parte más importante de la ventana inicial es la Command Windows , que aparece en la parte derecha (recuadrada en rojo en la Figura 2). En esta sub-ventana es donde se ejecutan los comandos de MatLab, a continuación del símbolo característico (>>), que indica que el programa está preparado para recibir instrucciones.
Figura 2 Sub-ventanas de comandos
En la parte izquierda de la pantalla aparecen dos ventanas también muy útiles: en la parte superior aparece la ventana (recuadrada en verde en la Figura 2) Current Folder , que se puede alternar con Workspace clickeando en la pestaña correspondiente. La ventana Current Folder muestra los ficheros del directorio activo o actual. El Workspace contiene información sobre todas las variables que se hayan definido en esta sesión y permite ver y modificar las matrices y vectores con los que se esté trabajando.
En la parte inferior aparece la ventana (recuadrada en azul en la Figura 2) Command History que muestra los últimos comandos ejecutados en la Command Window. Estos comandos se pueden volver a ejecutar haciendo doble click sobre ellos.
La instrucciones se pueden proporcionar directamente en la venta de comando ( Command Window ) o a través de ficheros-M (o M-files). Estos ficheros tienen la extensión *.m y contienen conjuntos de comandos o definición de funciones. La importancia de estos ficheros-M es que al teclear su nombre en la línea de comandos y pulsar Intro, se ejecutan uno tras otro todos los comandos contenidos en dicho fichero.
Aunque los ficheros *.m se pueden crear con cualquier editor de texto tal como Block de Notas, Notepad, Word, etc, MatLab dispone de un editor que permite crear y modificar estos ficheros, como ejecutarlos paso a paso para ver si contiene errores. La Figura 3 muestra la ventana principal del Editor. El editor muestra con diferentes colores los diferentes tipos o elementos constitutivos de los comandos (en verde los
De forma análoga a las matrices, es posible definir un vector fila ‘x’ en la forma siguiente:
En MatLab se accede a los elementos de un vector poniendo el índice entre paréntesis, por ejemplo:
Para definir un vector columna ‘y’ hay que separar los elementos por (;) o intro,
Y de la misma forma se accede a un elemento de él:
MatLab tiene en cuenta la diferencia entre vectores fila y vectores columna. Si intentamos sumar los vectores ‘x’ e ‘y’ obtendremos el siguiente mensaje de error:
Para poder sumar los vectores necesitamos que ambos sean vectores filas o ambos columna.
Si hacemos:
Transforma el vector fila ‘x’ en un vector columna. Si sumamos ahora obtenemos:
Si transformamos ‘y’ en vector fila y sumamos, entonces:
MatLab puede operar con vectores por medio de operadores y por medio de funciones. Los operadores son los siguientes:
Suma (+) :
Resta (-) :
División elemento a elemento:
Elevar a una potencia elemento a elemento (.^)
Si anteriormente no hemos definido el vector x se hace de la misma forma, es decir:
Funciones Matemáticas elementales: Se aplican a valores escalares o a vectores elemento a elemento.
sin(x) -> función seno cos(x) -> función coseno tan(x) -> función tangente log(x) -> función logaritmo neperiano log10(x) -> función logaritmo decimal exp(x) -> función exponencial sqrt(x) -> función raíz cuadrada round(x) -> función redondeo hacia el entero mas próximo abs(x) -> función valor absoluto
Funciones que actúan sobre vectores: Las siguientes funciones solo actúan sobre vectores.
[xm,im ]=max(x) Devuelve el valor máximo xm y la posición im del vector x [ym,jm]=min(x) Devuelve el valor mínimo ym y la posición jm sum(x) Suma de los elementos de un vector mean(x) Valor medio de los elementos del vector std(x) Desviación estándar
Funciones para cálculos con polinomios: Para MatLab un polinomio se puede definir mediante un vector de coeficientes. Por ejemplo, el polinomio:
x4-8x2+6x -10=
se puede representar mediante el vector [1, 0, -8, 6, -10]. MatLab puede realizar diversas operaciones sobre él, como por ejemplo evaluarlo para un determinado valor de ‘x’
Si se tiene el siguiente polinomio:
p(s) = s^3 + 3s^2 + 4
» p=[1 3 0 4]
Existen además otras funciones orientadas a añadir títulos al gráfico, a cada uno de los ejes, a dibujar una cuadrícula auxiliar, a introducir texto, etc. Estas funciones son las siguientes:
title('título') añade un título al dibujo.
xlabel('tal') añade una etiqueta al eje de abscisas. Con ‘xlabel off’ desaparece.
ylabel('cual') añade una etiqueta al eje de ordenadas. Con ‘ylabel off’ desaparece.
Ejemplo:
Una segunda forma de utilizar la función plot() es con dos vectores como argumentos. En este caso los elementos del segundo vector se representan en ordenadas frente a los valores del primero, que se representan en abscisas.
Ejemplo:
Por último, desde la ventana de graficación pueden realizarse cambios en las formas de mostrar las funciones como por ejemplo modificar colores, escalas, agregar leyendas, etc.
Una ventana gráfica se puede dividir en m particiones horizontales y n verticales, con objeto de representar múltiples gráficos en ella. Cada una de estas subventanas tiene sus propios ejes, aunque otras propiedades son comunes a toda la figura. La forma general de este comando es:
donde m y n son el número de subdivisiones en filas y columnas, e i es la subdivisión que se convierte en activa. Las subdivisiones se numeran consecutivamente empezando por las de la primera fila, siguiendo por las de la segunda, etc. Por ejemplo, la siguiente secuencia de comandos genera seis gráficos en la misma ventana:
MatLab es una potente herramienta para el análisis de ‘sistemas’ descriptos por funciones de transferencia. La función de transferencia de un sistema lineal e invariante en el tiempo, relaciona la transformada de Laplace de la salida con la transformada de Laplace de la entrada en un sistema de ecuaciones diferenciales a condiciones iniciales nulas. En forma genérica se representa de la siguiente forma:
m
m m
m
n n
1
1 1 0
1
1 1 0
En sistemas reales o físicamente realizables m <= n. El polinomio del denominador igualado a cero representa la ecuación característica que se utiliza ampliamente en el análisis de la estabilidad del sistema.
Para crear funciones de transferencia en MatLab se utilizan los siguientes comandos:
dónde “num” es un vector que contiene los coeficientes del polinomio del numerador de G(s) ordenado respecto a las potencias de s donde el primer elemento es el coeficiente que acompaña a la mayor potencia de s. “den” es otro vector que contiene los coeficientes del polinomio del denominador de G(s) ordenados de la misma forma que para el numerador.
Ejemplo de sintaxis en MatLab
% Introducir una función de transferencia polinómica^3.^3.^1
2
s s s
s s Gs
Donde “z” es un vector que contienen los ceros del numerador de G(s), “p” es un vector que tiene los polos de G(s) y “k” es la ganancia estática de G(s)
Ejemplo de sintaxis en MatLab
%Cargar en Matlab una G(s) que tiene ceros en -1 y -2, polos en -10, -3+/-3i % y ganancia estática k=
A partir de esta instrucción de puede utilizar la “s” en las expresiones polinómicas de G(s) para que Matlab las interprete como funciones de transferencia.
Ejemplo de sintaxis en MatLab
% Introducir una función de transferencia polinómica
2
s s s
s s Gs
s s s
s s Gs
Los diagramas de bloques representan gráficamente a un sistema indicando las funciones realizadas por cada componente y el flujo de las señales. Generalmente los elementos que podemos encontrar en este tipo de representación son: la planta (elemento a controlar), controladores, actuadores, sensores, entre otros. Un sistema sencillo de control a lazo abierto lo podemos obtener a partir de la interconexión en serie de la planta y del controlador. La función de transferencia obtenida para este caso en forma genérica sería:
U(s) SISTEMA 1 SISTEMA 2 Y(s) G 1 (s) G 2 (s)
[num,den]=series (num1,den1,num2,den2)
En ciertos sistemas pueden aparecer bloques en paralelo, y para su resolución, MatLab utiliza la instrucción parallel :
[num,den]=parallel(num1,den1,num2,den2)
SISTEMA 1 G1(S)
SISTEMA 2 G2(S)
En el caso que se quiera obtener la función de transferencia de un sistema realimentado podemos utilizar la función ‘feedback’ de MatLab para calcular la función resultante :
R(s) Y(s)
SISTEMA 2 H(S)
T s
Y s U s
num den
G s
num den
( )
( ) ( )
( ) H(s) =
num den
1 Realimentacion Positiva o negativa
1 1
[num,den]=feedback(num1,den1,num2,den2,signo)
Como ejemplo se calcula la función de transferencia total de los siguiente diagrama de bloques haciendo uso de las instrucciones de Matlab de dos maneras diferentes :
Entrada Salida
SISTEMA 1 G(S)
s=tf(‘s’); f1=10/(s+1); f2=1/(2*s+0.5); f3=0.1; f4=540; fp=parallel(f1,f2); fb=feedback(fp,f3,-1); fs=series(fb,f4); ft=feedback(fs,1,-1); ft
El objetivo que nos planteamos es el de mostrar cómo Matlab describe la respuesta temporal de cualquier sistema a diferentes entradas:
Y(t) - salida valuada en t G(s) = numden t - tiempo al que es calculado la respuesta al escalon X(t) - respuesta de esatdo en t ( opcional ) t - tiempo de simulacion
[y,x,t]=step(num,den,t)
Ejemplo usando función de transferencia:
Y(t) - salida valuada en t G(s) =
num den t - tiempo al que es calculado la respuesta al X(t) - respuesta de esatdo en t impulso ( opcional ) t - tiempo de simulacion
[y,x,t]=impulse(num,den,t)
Ejemplo usando función de transferencia: