Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


apunte matlab, Apuntes de Ingeniería electrónica

Asignatura: control de procesos, Profesor: ^^ lol, Carrera: Ingeniería Electrónica Industrial y Automática, Universidad: UNIRIOJA

Tipo: Apuntes

2014/2015

Subido el 20/04/2015

lazer77
lazer77 🇪🇸

5

(1)

1 documento

1 / 27

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Introducción a Matlab Toolbox: Control System Facultad de Ingeniería-UNER
1
GUÍA PARA EL USO DE MATLAB PARTE 1
GUÍA DE USUARIO BÁSICO PARA MATLAB
El programa Matlab
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Vista previa parcial del texto

¡Descarga apunte matlab y más Apuntes en PDF de Ingeniería electrónica solo en Docsity!

GUÍA PARA EL USO DE MATLAB PARTE 1

GUÍA DE USUARIO BÁSICO PARA MATLAB

El programa Matlab

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:

Operaciones entre vectores

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:

  1. División de todos los elementos del vector por un número(./)
  2. División de un número por todos los elementos de un vector (.)

 Elevar a una potencia elemento a elemento (.^)

Si anteriormente no hemos definido el vector x se hace de la misma forma, es decir:

Funciones de Matlab

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:

GUIA PARA EL USO DE MATLAB PARTE 2

TOOLBOX DE CONTROL

FUNCION DE TRANSFERENCIA

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:

G s

Y s

U s

a s a s a s a

s b s b s b

m

m m

m

n 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:

a) g=tf(num,den)

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

b) g=zpk(z,p,k)

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=

c) s=tf(‘s’)

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

( 10 )( ^ 2 6 18 )

s s s

s s Gs

REPRESENTACIÓN EN DIAGRAMA DE BLOQUES:

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)

T s

Y s

U s

num

den

G s

num

den

G s

num

den

[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 :

  • Y(S) U(s)

T s

Y s

U s

num

den

G s

num

den

G s

num

den

[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)

2. s 0 5.

s  1

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

RESPUESTA TEMPORAL DE SISTEMAS:

El objetivo que nos planteamos es el de mostrar cómo Matlab describe la respuesta temporal de cualquier sistema a diferentes entradas:

 Entrada escalón :

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:

 Entrada impulso :

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: