Você está na página 1de 43

Introducción

a Matlab

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
❑Primeros pasos
❑Programación en Matlab
❑Simulink
❑SimPowerSystems
❑Control System Toolbox

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
➢ ¿Qué es Matlab?
➢ Entorno de Desarrollo
➢ Ayuda y documentación
❑Primeros pasos
❑Programación en Matlab
❑Simulink
❑SimPowerSystems
❑Control System Toolbox

Fuentes de Energía Renovable Conocimientos transversales


Introducción
¿Qué es MATLAB?

❑MATrix LABoratory: lenguaje de programación para computación técnica


❑Consiste en diferentes elementos:
➢ Lenguaje de programación de alto nivel
➢ Herramientas del entorno de desarrollo
➢ Librería de funciones matemáticas desde las más básicas a otras más complejas
➢ Gráficos 2D, 3D y GUIs
➢ Interfaces externos (C y Fortran)
❑Simulink
➢ Múltiples librerías (Simulink, SimPowerSystems)
❑Paquetes de funciones especializadas
➢ Control system toolbox
➢ Symbolic math toolbox

Fuentes de Energía Renovable Conocimientos transversales


Introducción
Entorno de desarrollo
❑ Facilita el uso de las diferentes funciones de MATLAB
❑ Elementos del “Matlab Desktop” (pueden cambiar su posición)

Directorio
actual
Los ficheros que contienen
scripts o funciones de Editor
Matlab deben llevar la
extensión .m
Workspace

Ventana de
comandos

❑ Otras herramientas: debugger, analizador de código, navegador de ayuda, etc.

Fuentes de Energía Renovable Conocimientos transversales


Introducción
Ayuda y documentación
❑Ayuda de Matlab
➢ Ventana de comandos: >>help [nombreFunc] o >>lookfor [nombreFunc]
Llamada a la ayuda
de la función

Información y
ejemplos de uso

Tipos de datos que


soporta

Funciones relacionadas

Fuentes de Energía Renovable Conocimientos transversales


Introducción
Ayuda y documentación
❑Ayuda de Matlab
➢ Ventana de comandos: >>help [nombreFunc] o >>lookfor [nombreFunc]
➢ Navegador de ayuda (abrir pulsando “F1”)
Nombre de la
función

Información y
ejemplos de uso

Funciones relacionadas

Fuentes de Energía Renovable Conocimientos transversales


Introducción
Ayuda y documentación
❑Ayuda de Matlab
➢ Ventana de comandos: >>help [nombreFunc] o >>lookfor [nombreFunc]
➢ Navegador de ayuda (abrir pulsando “F1”)
❑Matlab Getting Started Guide
➢ disponible para su descarga a través del navegador de ayuda (.pdf)
❑Numerosos documentos disponibles en Internet (FileExchange)

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
❑Primeros pasos
➢ Representación de datos
➢ Operaciones aritméticas
➢ Operaciones lógicas y relacionales
➢ Operaciones con matrices
➢ Representación de gráficos
❑Programación en Matlab
❑Simulink
❑SimPowerSystems
❑Control System Toolbox

Fuentes de Energía Renovable


Introducción a Matlab
Conocimientos transversales
Primeros pasos
Representación de datos
❑Datos en forma de matrices (array rectangular de números)
➢ Matrices: dimensión mxn
➢ Escalares: dimensión 1x1
➢ Vectores: dimensión 1xn (vector fila) o mx1 (vector columna)
❑Definición de matrices y vectores

Fuentes de Energía Renovable Conocimientos transversales


Primeros pasos
Representación de datos
❑Datos en forma de matrices (array rectangular de números)
➢ Matrices: dimensión mxn
➢ Escalares: dimensión 1x1
➢ Vectores: dimensión 1xn (vector fila) o mx1 (vector columna)
❑Definición de matrices y vectores
❑Acceso a los elementos de una matriz o vector
➢ Índices que indican la fila y columna del elemento
➢ Los índices empiezan en 1!
➢ “:” indican todos los elementos de la fila/columna
➢ “end” indica el último elemento de la fila/columna

Fuentes de Energía Renovable Conocimientos transversales


Primeros pasos
Representación de datos
❑Datos en forma de matrices (array rectangular de números)
➢ Matrices: dimensión mxn
➢ Escalares: dimensión 1x1
➢ Vectores: dimensión 1xn (vector fila) o mx1 (vector columna)
❑Definición de matrices y vectores
❑Acceso a los elementos de una matriz o vector
➢ Índices que indican la fila y columna del elemento
➢ Los índices empiezan en 1!
❑Notación “:” → inicio:paso:fin

❑Matrices especiales:
➢ Matriz de ceros: zeros(m,n)
➢ Matriz de unos: ones(m,n)
➢ Matriz identidad: eye(m,n)

Fuentes de Energía Renovable Conocimientos transversales


Primeros pasos
Operaciones aritméticas
❑Operan sobre matrices, vectores o escalares
➢ Si se pone un ‘.’ la operación se realiza elemento a elemento

Producto matricial (con B


transpuesta)

Producto elemento a
elemento

Fuentes de Energía Renovable Conocimientos transversales


Primeros pasos
Operaciones lógicas y relacionales
❑ Operan sobre matrices, vectores o escalares
➢ En caso de matrices o vectores, la operación se hace elemento a elemento, devolviendo una
matriz/vector binario

Fuentes de Energía Renovable Conocimientos transversales


Primeros pasos
Representación de gráficos
❑Múltiples funciones para la representación de vectores y matrices en 2D: plot,
stem, semilogx, semilogy, loglog, etc
❑ Función básica de representación:
➢ plot([X],Y,[LineSpec],[’PropertyName’],[‘PropertyValue’],…);
o Y → valores a representar
o LineSpec → color y formato de la línea y los markers (ej. ‘.-xk’)

o Otras propiedades:
▪ ‘LineWidth’: grosor de la línea
▪ ‘MarkerSize’: tamaño de los markers
▪ ‘MarkerEdgeColor’, ‘MarkerFaceColor’: color(es) de los markers
▪ Etc.

Fuentes de Energía Renovable


Introducción a Matlab
Conocimientos transversales
Primeros pasos
Representación de gráficos
❑Múltiples funciones para la representación de vectores y matrices en 2D: plot,
stem, semilogx, semilogy, loglog, etc
❑ Función básica de representación:
➢ plot([X],Y,[LineSpec],[’PropertyName’],[‘PropertyValue’],…);

1 1
❑Ejemplo:
0.5 0.5

>>X = linspace(0,2*pi,200); 0 0
>>Y = sin(X.^2);
-0.5 -0.5
>>figure(1);
>>subplot(2,2,1); -1 -1
0 2 4 6 8 0 2 4 6 8
>>plot(X,Y);
>>subplot(2,2,2); 1 1
>>plot(X,Y,'--r');
0.5 0.5
>>subplot(2,2,3);
>>plot(X,Y,'-og','LineWidth',2); 0 0
>>subplot(2,2,4);
-0.5 -0.5
>>plot(X,Y,'-^k','LineWidth',2,'MarkerSize',12);
-1 -1
0 2 4 6 8 0 2 4 6 8

Fuentes de Energía Renovable Conocimientos transversales


Primeros pasos
Representación de gráficos
❑Diferentes comandos para editar las figuras creadas:
➢ añadir títulos (title) ,
➢ etiquetar los ejes (xlabel, ylabel),
➢ incorporar leyendas (legend)…
➢ modificar los colores (colormap)
➢ modificar las escalas de los ejes: (axis), etc.
❑También pueden utilizarse las herramientas gráficas:

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
❑Primeros pasos
❑Programación en Matlab
➢ Sentencias de control
➢ Funciones y scripts (ficheros .m)
➢ Medida de tiempos de ejecución
➢ Depuración de código
❑Simulink
❑Control System Toolbox
❑SimPowerSystems

Fuentes de Energía Renovable


Introducción a Matlab
Conocimientos transversales
Programación en Matlab
Sentencias de Control
❑ Control de flujo del programa
➢ Tanto en los ficheros .m como en la línea de comandos
➢ No es necesario poner llaves {} → importante tabular correctamente
➢ Finalizan con la sentencia end
❑ Control condicional: if-elseif-else, switch-case

❑ Control de bucles: for, while, continue, break

❑ Finalización de programas: return


Fuentes de Energía Renovable Conocimientos transversales
Programación en Matlab
Funciones y scripts (ficheros .m)
❑Los archivos deben estar incluidos en el «path» de Matlab o en el directorio de
trabajo
❑Funciones:
➢ Comienzan con la palabra function
➢ El fichero .m puede incluir otras funciones
➢ Al finalizar su ejecución las variables locales se eliminan
❑Scripts
➢ El fichero .m incluye sólo el código del script
➢ Al finalizar su ejecución las variables permanecen en el workspace
❑Ejemplo

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
❑Primeros pasos
❑Programación en Matlab
❑Simulink
➢ Introducción
➢ Creación del modelo
➢ Simulación del modelo
❑SimPowerSystems
❑Control System Toolbox

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Introducción

❑Herramienta integrada en Matlab que permite introducir y simular sistemas de


forma gráfica.
➢ Para acceder a simulink puede escribirse >>simulink en la línea de comandos o utilizar el icono
en la barra de Matlab.

❑Incorpora diferentes librerías con elementos predefinidos para facilitar su uso.

❑El trabajo en Simulink se realiza en dos etapas:


➢ Creación del modelo
➢ Simulación del modelo

❑Los modelos se almacenan en ficheros con extensión .slx (anteriormente .mdl)

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Creación del modelo
❑Crear un nuevo modelo
❑Colocar y conectar entre sí los bloques
➢ Los bloques se encuentran en la ventana de librerías, organizados en grupos (sources, sinks,
continuous, discrete, math operations, etc)

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Creación del modelo
❑Crear un nuevo modelo
❑Colocar y conectar entre sí los bloques
➢ Los bloques se encuentran en la ventana de librerías, organizados en categorías (sources, sinks,
continuous, discrete, math operations, etc)
➢ Para colocar un bloque basta con arrastrarlo de la ventana de librerías al espacio de trabajo.
➢ La conexión de bloques se hace haciendo click en el primero, y arrastrando el ratón al segundo
(mientras se mantiene el botón pulsado).

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Creación del modelo
❑Crear un nuevo modelo
❑Colocar y conectar entre sí los bloques
❑Configurar los bloques
➢ La configuración de los bloques se realiza haciendo doble click sobre ellos, e introduciendo los
datos en la ventana que aparece.
➢ En la configuración de los bloques de simulink pueden utilizarse variables que estén definidas
en el workspace.
❑Guardar con extensión .slx ( o .mdl)

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Simulación del modelo
❑Configuración de los parámetros de la simulación
(Simulation → Configuration parameters…)
➢ Simulation time: inicio y fin de la simulación. Suficientemente grande para que el sistema
alcance el régimen permanente.

➢ Solver options: define cómo se realiza el muestreo de señales para la simulación.

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Simulación del modelo
❑Configuración de los parámetros de la simulación
(Simulation → Configuration parameters…)
➢ Solver options: define cómo se realiza el muestreo de señales para la simulación.
o Type: selecciona entre step de simulación fijo o variable.
o Solver: selecciona el tipo de método para la discretización.

Variable-step

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Simulación del modelo
❑Configuración de los parámetros de la simulación
(Simulation → Configuration parameters…)
➢ Selección Tstep

o Error debido al muestreo: diferencia entre la señal real y la muestreada


o Si Tstep  → Error, Tsimulación
o Si Tstep  → Error, Tsimulación Compromiso

Fuentes de Energía Renovable


Introducción a Matlab
Conocimientos transversales
Simulink
Simulación del modelo
❑Configuración de los parámetros de la simulación (Simulation → Configuration
parameters…)
❑Lanzamiento de la simulación:
➢ Usando el acceso directo:
➢ Mediante el comando sim(‘nombre_modelo.slx’)

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
❑Primeros pasos
❑Programación en Matlab
❑Simulink
❑SimPowerSystems
❑Control System Toolbox

Fuentes de Energía Renovable


Introducción a Matlab
Conocimientos transversales
Simulink
Librería SimPowerSystems
❑Librería de simulink especializada en el modelado de equipos de potencia

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Librería SimPowerSystems

❑Librería de simulink especializada en el modelado de equipos de potencia


❑Esquema de trabajo básico

Fuentes de Energía Renovable Conocimientos transversales


Simulink
Librería SimPowerSystems
 Ejemplo: Fuente alterna, amplitud 100V, f=50Hz que alimenta
una carga pasiva resistiva de 100Ω.

Corriente

Tensión

SimPowerSystems dispone de varios generadores


Se pueden hacer medidas
de AC y DC, monofásicos y trifásicos
de corriente, voltaje,
(SimPowerSystems→Specialized Technology→
valores medios, eficaces,
Fundamental Blocks→Electrical Sources).
análisis de Fourier, de
También podemos crear nuestras propias fuentes
THD, etc.
a partir de señales Simulink que luego convertimos
a tensión (Controlled Voltage Source) o a
corriente (Controlled Current Source).

Fuentes de Energía Renovable


Introducción a Matlab
Conocimientos transversales
Simulink
Librería SimPowerSystems
 Ejemplo: Fuente alterna, amplitud 100V, f=50Hz que alimenta
una carga pasiva resistiva de 100Ω.

• Los diseños que tengan elementos del paquete


SimPowerSystems SIEMPRE deben incluir un
bloque POWERGUI.
• Se suele poner en el bloque de mayor jerarquía
y se usa para almacenar el cto. equivalente
Simulink que representa el espacio de estados
del modelo.
• Permite configurar los métodos de resolución
del circuito: continuo o discreto, principalmente.
• Tiene una interfaz gráfica para análisis de
Muy útil, necesita
resultados de simulación.
almacenar datos
como estructura
con tiempo.

Fuentes de Energía Renovable Conocimientos transversales


Índice

❑Introducción
❑Primeros pasos
❑Programación en Matlab
❑Simulink
❑SimPowerSystems
❑Control System Toolbox
➢ Representación de sistemas lineales
➢ Análisis de la respuesta temporal de sistemas LTI
➢ Interconexión de sistemas

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Introducción

❑Conjunto de funciones para la ingeniería de control de sistemas (continuo y


discreto)
❑>>help control → listado de funciones
❑Representación de sistemas lineales en diferentes formatos
➢ Función de transferencia
➢ Cero-polo
➢ Fracciones parciales
➢ Espacio de estados
❑Análisis de la respuesta
➢ Temporal: al impulso, escalón, etc.
➢ Frecuencial: respuesta en frecuencia y diagramas de boode
❑Interconexión de sistemas

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Representación de sistemas lineales

❑Representación de sistemas lineales en diferentes formatos


➢ Función de transferencia:
o Numerador y denominador en formato polinómico
o Para agrupar dos polinomios en una única variable → tf
o Si queremos multiplicar polinomios → conv

➢ Cero-polo:
➢ Fracciones parciales:
➢ Espacio de estados:

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Representación de sistemas lineales
❑Representación de sistemas lineales en diferentes formatos
➢ Función de transferencia: numerador, denominador o función tf
➢ Cero-polo: (zpk)
o ganancia (k), ceros (z) y polos (p)
o Ceros y polos en formato polinómico

H ( s)= 2
(s )
+ 4 (s + 1)
2

(s + 2)(s + 3)(s + 4)
➢ Fracciones parciales:
➢ Espacio de estados:

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Representación de sistemas lineales
❑Representación de sistemas lineales en diferentes formatos
➢ Función de transferencia: numerador, denominador o función tf
➢ Cero-polo: ganancia (k), ceros (z), polos (p)
➢ Fracciones parciales (residue):
3 5
H ( s )= +
(s + 5) (s + 2)
➢ Espacio de estados:

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Representación de sistemas lineales
❑Representación de sistemas lineales en diferentes formatos
➢ Función de transferencia: numerador, denominador o función tf
➢ Cero-polo: ganancia (k), ceros (z), polos (p)
➢ Fracciones parciales (residue):
➢ Espacio de estados: (ss)
o Matrices A, B, C y D o función ss
x
= Ax + Bu
t
y =Cx + Du
o Ejemplo Motor DC

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Análisis de la respuesta temporal de sistemas LTI

❑Respuesta al escalón: función step


➢ y = step(sys,[t]) ó y = step(num,den,[t])
❑Respuesta al impulso: función impulse
➢ y = impulse(sys,[t]) ó y = impulse(num,den,[t])
❑Respuesta a una entrada arbitraria: función lsim
➢ lsim(sys,u,t)
➢ t tiempo en que se toman las muestras para la simulación → vector con valores
monótonamente crecientes y regularmente espaciados.
➢ u valores de la señal de entrada → matriz con tantas filas como muestras (length(t)) y una
columna por cada entrada al sistema.
❑Si no asignamos el resultado a ninguna variable, se representa la salida obtenida
➢ Para personalizar la gráfica resultante: las funciones stepplot, impulseplot o lsimplot permiten
definir el formato (ej. stepplot(sys, ‘.r’) representa la respuesta al escalón, en línea roja
punteada )
❑Ejemplo:
H (s ) =
36
s 2 + 2.4s + 36

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Análisis de la respuesta temporal de sistemas LTI
Step Response

❑Ejemplo: H (s ) =
36 2

Amplitude
s 2 + 2.4s + 36 1

0
0 1 2 3 4 5 6 7 8
Time (sec)
Impulse Response
5

Amplitude
0

-5
0 1 2 3 4 5 6 7 8
Time (sec)
Linear Simulation Results
10

Amplitude
5

0
0 5 10 15 20 25 30
Time (sec)

Fuentes de Energía Renovable Conocimientos transversales


Toolbox de control
Análisis de la respuesta frecuencial de sistemas LTI
❑Respuesta en frecuencia de un sistema: función freqresp
➢ [resp,outfreq] = freqresp(sys,infreq)
❑Diagrama de bode (magnitud y fase) de la respuesta en frecuencia: función bode
➢ [mag, fase, w] = bode(sys)
➢ Si no asignamos el resultado a ninguna variable, se representa la salida obtenida
❑Ejemplo:
➢ >>bode(num,den) Bode Diagram
10

Magnitude (dB)
-10

H (s ) = 2
36 -20

s + 2.4s + 36
-30

-40

-50
0

-45
Phase (deg)

-90

-135

-180
-1 0 1 2
10 10 10 10
Frequency (rad/sec)

Fuentes de Energía Renovable Conocimientos transversales

Você também pode gostar