SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
M. Sc. Ing. José C. Benítez P.
Sistemas Inteligentes y
Redes Neuronales
(W0IA)
Sistemas Difusos
Laboratorio: 9
Objetivo
Fundamento teórico: Los sistemas difusos.
Laboratorio: Sistemas Difuso con MatLab.
Informe de Laboratorio.
Sistemas Difusos
2
Objetivos
Revisar los conceptos de los sistemas basados en lógica
difusa comúnmente llamados sistemas difusos.
Desarrollar de un control difuso mediante el Toolbox de
MatLab.
Fortalecer su competencia redactora del alumno mediante la
redacción del informe de laboratorio con el desarrollo y
preguntas del laboratorio.
3
Sistema difuso con MatLab
4
EJEMPLO: Modelar un SdCbLB con MatLab:
Se desea implementar una lavadora con un sistema difuso. En tal
sentido se ha propuesto un sistema de control difuso con las
siguientes características:
- Entradas: Peso y Nivel de suciedad.
- Salida: Cantidad de Detergente.
--------------------------------------------------------------------------
Se define las Reglas Difusas para el nivel de detergente:
Cantidad de Detergente
Sistema difuso con MatLab
5
Se define los Conjuntos Difusos para cada variable difusa:
Peso Suciedad
Cantidad de
detergente:
Sistema difuso con MatLab
6
Usando el Toolbox de MatLab:
1. Ingrese al MatLab
2. Escriba Fuzzy en el Command Window
Figura 1:
Interfaz Grafica
de Lógica Difusa
para MatLab
Ingresando al Toolbox de Sistemas Difusos de MatLab
Sistema difuso con MatLab
7
Usando el Toolbox de MatLab:
3. Si desea Adicionar una entrada o
salida en el sistema, seleccionamos
Edit > Add variable > Input/Output.
Figura 2:
Adicionar una
entrada al sistema
difuso
Agregando una entrada/salida difusa al Sistema Difuso
Sistema difuso con MatLab
8
Usando el Toolbox de MatLab:
4. Para nuestro sistema debemos
adicionar una entrada mas
(input2).
Figura 3:
Sistema Difuso
con 2 entradas.
Sistema difuso con MatLab
9
Usando el Toolbox de MatLab:
Cambio de nombre de las variables difusas
5. Procedemos a cambiar los nombres de
las variables de entrada. En la figura 3
seleccionamos input1 y lo cambiamos
por Peso; seleccionamos input2 y lo
cambiamos por nivel de suciedad.
Finalmente seleccionamos output1 por
cantidad de detergente.
Guardar el sistema difuso
6. Para guardar como “Lavadora ”el
sistema difuso (archivo) seleccionamos
File > Export > To file
Figura 4:
Guardar
archivo de
trabajo
Sistema difuso con Matlab
10
Usando el Toolbox de MatLab:
7. A continuación debemos especificar
las funciones de pertenecía de los
conjuntos .
8. Seleccionamos Edit > Membership
Functions (Ctrl+2)
Figura 5:
Modificar los
parámetros de
las funciones de
pertenencia.
Sistema difuso con Matlab
11
Usando el Toolbox de MatLab:
9. En la figura se muestra las
funciones de pertenencia para
cada uno de los conjuntos
difusos.
10. Hacer click sobre una variable
difusa para seleccionar y editar
sus valores (queda bordeado de
rojo y con línea roja).
11. De manera demostrativa se
realizara la implementación de la
primera variable Peso.
Figura 6:
Funciones
membership
de la variable
Peso.
Sistema difuso con Matlab
12
Usando el Toolbox de MatLab:
Modificando los valores de una
variable difusa
10. Según datos del problema la
variable peso posee un rango de
[0-10], para obtener este rango
modificamos en el campo Range
el intervalo de [0-1] a [0-10].
Agregando funciones de pertenencia
de la variable difusa
11. Seleccionamos Edit > Add Custom
MF. Se debe agregar tantas
funciones de pertenencia como
hagan falta para definir la variable
difusa.
Figura 7:
Adicionar las
funciones de
pertenencia.
Sistema difuso con Matlab
13
Usando el Toolbox de MatLab:
11. En el campo MF name reemplazamos
mf1 por Liviano, para evitar
confusiones. En el siguiente paso
cambiaremos todos los nombres de
acuerdo a nuestro problema.
Figura 8: Cambio de
nombre la función
de pertenencia de
una variable difusa.
Sistema difuso con MatLab
14
Usando el Toolbox de MatLab:
Condiciones del problema
12.La variable peso está definida por cuatro funciones de
pertenencia como se describen a continuación:
• Liviano: Función trapecio truncado. Constante de [1-2] y
decreciente en forma lineal de [2-3].
• Regular: Función triangular de [2-6] con un cenit en 4.
• Pesado: Función triangular de [4-8] con un cenit en 6.
• Muy pesado: Función trapecio truncado. Constante de
[8-10] y creciente en forma lineal de [7-8].
Sistema difuso con MatLab
15
Usando el Toolbox de MatLab:
13. Para completar las cuatro funciones de pertenencia para la variable peso,
ingresamos al sistema los valores que se presentan en la siguiente tabla 1.
Tabla 1: Valores para las funciones de pertenencia de la variable Peso.
Peso:
• Liviano: FdP: trapecio truncado (trapmf). Constante de [0-2] y
decreciente en forma lineal de [2-3]. P: [-3 0 2 3]
• Regular: FdP: triangular (trimf) de [2-6] con un cenit en 4. P: [2 4 6]
• Pesado: FdP: triangular (trimf) de [4-8] con un cenit en 6. P: [4 6 8]
• Muy pesado: FdP: trapecio truncado (trapmf). Constante de [8-10] y
creciente en forma lineal de [7-8]. P: [7 8 10 12]
Sistema difuso con MatLab
16
Usando el Toolbox de MatLab:
14. Luego de completar las cuatro funciones de pertenencia se podrá visualizar la
siguiente pantalla tal como describe la figura.
Figura 9:
Definición de la
variable difusa
peso mediante
cuatro
funciones de
pertenencia.
Sistema difuso con Matlab
17
Usando el Toolbox de MatLab:
15. De la misma manera la variable de entrada Nivel de suciedad y la variable de salida
Cantidad de Detergente debe ser llenado.
Figura 10: Sistema Difuso con 2 entradas.
Nivel de suciedad:
• Poco sucio: FdP: triangular (trimf) de
[-2 2] con un cenit en 0. P: [-2 0 2]
• Sucio: FdP: trapecio truncado
(trapmf). Constante de [3 5],
creciente lineal en [1 3]. y decreciente
lineal en [5 7]. P: [1 3 5 7]
• Muy Sucio: FdP: triangular (trimf) de
[6 14] con un cenit en 10. P: [6 10 14]
Sistema difuso con Matlab
18
Usando el Toolbox de MatLab:
15. De la misma manera la variable de entrada Nivel de suciedad y la variable de salida
Cantidad de Detergente debe ser llenado.
Figura 10: Sistema Difuso con 2 entradas.
Cantidad de Detergente:
• Bajo: FdP: triangular
(trimf) de [-3 3] con un
cenit en 0. P: [-3 0 3]
• Medio: FdP: triangular
(trimf) de [2 8] con un
cenit en 5. P: [2 5 8]
• Alto: FdP: triangular
(trimf) de [7 13] con un
cenit en 10. P: [7 10 13]
Sistema difuso con Matlab
19
Usando el Toolbox de MatLab:
16. Para adicionar las reglas difusas seleccionamos Edit > Rules (Ctrl+3).
Figura 10:
Agregando
reglas difusas.
Sistema difuso con Matlab
20
Usando el Toolbox de MatLab:
17. Aparecerá la siguiente
pantalla que se muestra
en la figura.
Figura 11:
Editor de
reglas
difusas.
Sistema difuso con Matlab
21
Usando el Toolbox de MatLab:
18. En la ventana del editor de reglas, se pueden editar reglas basándose en reglas if then
combinando las entradas con not, and y or. Para adicionar una regla se debe seleccionar
las opciones que presentan las entradas y la salida e ingresar la regla deseada para
finalmente presionar Add rule.
Ejemplo. Si el Peso es Liviano y el Nivel de Suciedad es PocoSucio entonces la
cantidad de detergente será bajo.
Sistema difuso con MatLab
22
Usando el Toolbox de MatLab:
19. De esta manera todas las reglas difusas deben se ingresadas al sistema difuso.
Sistema difuso con Matlab
23
Usando el Toolbox de MatLab:
20. Para analizar nuestro sistema difuso para diferentes valores de entrada seleccionamos
View > Rules automáticamente se mostrará la salida del sistema para diferentes
entradas.
Resultado:
Para unas entradas de:
Peso = 5
Nivel de Suciedad = 5
La salida será:
Cantidad de detergente = 5
Sistema difuso con MatLab
24
Usando el Toolbox de MatLab:
Modificando los entradas (input): [2 2 ] para obtener una nueva salida.
Resultado:
Para unas entradas de:
Peso = 2
Nivel de Suciedad = 2
La salida será:
Cantidad de detergente = 5
Sistema difuso con MatLab
25
Usando el Toolbox de MatLab:
Se puede mover las líneas rojas verticales para obtener resultados “online” analógicos.
Resultado:
Para unas entradas de:
Peso = 7.75
Nivel de Suciedad = 3.14
La salida será:
Cantidad de detergente = 7.69
Laboratorio
26
Implementar un sistema difuso (SdCbLD – Sistema de Control basado en
Lógica Difusa) para el control automático de:
1. Frenado de un automóvil. Considerar las variables de entrada presión y
radio.
2. Un ventilador en una sala de conferencias. Considerar las variables de
entrada temperatura, área y número de personas.
3. Un ascensor de un edificio. Considerar las variables de entradas que
estime pertinentes.
4. Encendido de un motor del discovery. Considerar las variables de
entradas que estime pertinentes.
En cada una de los sistemas:
a. Diseñar sus reglas difusas.
b. Diseñar las funciones de pertenencia (tipos y rango).
c. Comprobar su sistema con el toolbox de MatLab.
Informe de Laboratorio
27
Es un documento gráfico en lo posible y es redactado en Word con el
desarrollo de éste laboratorio.
Niveles de Informe:
Primer nivel: Observaciones y comentarios. Imágenes con
observaciones y comentarios cortos. Redactar al ir desarrollando el
laboratorio. (Requiere desarrollar el laboratorio).
Segundo nivel: Conclusiones. Redactar al terminar el
laboratorio.(Requiere haber desarrollado el laboratorio).
Tercer Nivel: Recomendaciones. (Requiere lectura de otras fuentes).
Presentación:
Dentro de su Carpeta Personal del Dropbox crear una carpeta para el
Laboratorio 9 con el siguiente nombre: SIRN_PaternoM_Lab9
Adjuntar en esta carpeta:
El Informe de Laboratorio 9.
Los archivos “*.fig” y “*.m” utilizados.
Las fuentes deben conservar el nombre original de archivo y se debe
agregar _L9 al final.
Laboratorio 9. Sistemas Difusos
Blog del curso:
utpsirn.blogspot.com
28

Más contenido relacionado

La actualidad más candente

Matlab y su lista de comandos
Matlab y su lista de comandosMatlab y su lista de comandos
Matlab y su lista de comandosCarlos Aparicio
 
Comandos utilizados en el matlab
Comandos utilizados en el matlabComandos utilizados en el matlab
Comandos utilizados en el matlabCesar Gamiz
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)morones.om
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de RetropropagaciónESCOM
 
REDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMOREDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMOESCOM
 
Java argumentos variables
Java argumentos variablesJava argumentos variables
Java argumentos variablesEfrain Mflo
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Javapbcanessa
 
Backpropagation con momentum
Backpropagation  con momentumBackpropagation  con momentum
Backpropagation con momentumESCOM
 
Redes de propagación hacia delante y aprendizaje supervisado
Redes de propagación hacia delante   y aprendizaje supervisadoRedes de propagación hacia delante   y aprendizaje supervisado
Redes de propagación hacia delante y aprendizaje supervisadoESCOM
 

La actualidad más candente (20)

Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
COMANDOS DE JAVA
COMANDOS DE JAVACOMANDOS DE JAVA
COMANDOS DE JAVA
 
Matlab y su lista de comandos
Matlab y su lista de comandosMatlab y su lista de comandos
Matlab y su lista de comandos
 
Comandos utilizados en el matlab
Comandos utilizados en el matlabComandos utilizados en el matlab
Comandos utilizados en el matlab
 
Diapositivas matlab
Diapositivas matlabDiapositivas matlab
Diapositivas matlab
 
matlab
matlabmatlab
matlab
 
Tema 1
Tema 1Tema 1
Tema 1
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
 
Comandos de java
Comandos de javaComandos de java
Comandos de java
 
Perceptrón multicapa entrenamienta en MatLab
Perceptrón multicapa entrenamienta en MatLabPerceptrón multicapa entrenamienta en MatLab
Perceptrón multicapa entrenamienta en MatLab
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
REDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMOREDES NEUROANLES ELMAN DEMO
REDES NEUROANLES ELMAN DEMO
 
Intro a matlab
Intro a matlabIntro a matlab
Intro a matlab
 
Java argumentos variables
Java argumentos variablesJava argumentos variables
Java argumentos variables
 
Tutorial de matlab [101 paginas en español]
Tutorial de matlab [101 paginas   en español]Tutorial de matlab [101 paginas   en español]
Tutorial de matlab [101 paginas en español]
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Edhiel y aranza_22
Edhiel y aranza_22Edhiel y aranza_22
Edhiel y aranza_22
 
Backpropagation con momentum
Backpropagation  con momentumBackpropagation  con momentum
Backpropagation con momentum
 
Practica 1
Practica 1Practica 1
Practica 1
 
Redes de propagación hacia delante y aprendizaje supervisado
Redes de propagación hacia delante   y aprendizaje supervisadoRedes de propagación hacia delante   y aprendizaje supervisado
Redes de propagación hacia delante y aprendizaje supervisado
 

Similar a Utp sirn_sl9 sistemas difusos

Similar a Utp sirn_sl9 sistemas difusos (20)

Utp sirn_2014-2 lab3
 Utp sirn_2014-2 lab3 Utp sirn_2014-2 lab3
Utp sirn_2014-2 lab3
 
Practica 5 simulink-5156
Practica 5 simulink-5156Practica 5 simulink-5156
Practica 5 simulink-5156
 
Tutorial graficos en_matlab
Tutorial graficos en_matlabTutorial graficos en_matlab
Tutorial graficos en_matlab
 
Logica-difusa-simulink-casos
Logica-difusa-simulink-casosLogica-difusa-simulink-casos
Logica-difusa-simulink-casos
 
Investigacion
InvestigacionInvestigacion
Investigacion
 
Electrónica digital: circuitos combinacionales funciones integradas
Electrónica digital: circuitos combinacionales funciones integradas Electrónica digital: circuitos combinacionales funciones integradas
Electrónica digital: circuitos combinacionales funciones integradas
 
Utp sirn_2015-1 lab3
 Utp sirn_2015-1 lab3 Utp sirn_2015-1 lab3
Utp sirn_2015-1 lab3
 
Programación en matlab
Programación en matlabProgramación en matlab
Programación en matlab
 
MATLAB Tutorial
MATLAB TutorialMATLAB Tutorial
MATLAB Tutorial
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
Logica fuzzy
Logica fuzzyLogica fuzzy
Logica fuzzy
 
1. guia 1 introduccion a matlab
1. guia 1   introduccion a matlab1. guia 1   introduccion a matlab
1. guia 1 introduccion a matlab
 
Teorico2
Teorico2Teorico2
Teorico2
 
Matlab
Matlab Matlab
Matlab
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Matlab
MatlabMatlab
Matlab
 
Metodos numericos ss13
Metodos numericos ss13Metodos numericos ss13
Metodos numericos ss13
 
Metodos numericos ss13
Metodos numericos ss13Metodos numericos ss13
Metodos numericos ss13
 
Explicaciones 1.pdf
Explicaciones 1.pdfExplicaciones 1.pdf
Explicaciones 1.pdf
 

Más de c09271

0121 2494-pys-50-11 (1)
0121 2494-pys-50-11 (1)0121 2494-pys-50-11 (1)
0121 2494-pys-50-11 (1)c09271
 
S01.s1 material
S01.s1   materialS01.s1   material
S01.s1 materialc09271
 
jcbenitezp
jcbenitezpjcbenitezp
jcbenitezpc09271
 
Pdi paterno m_lab1
Pdi paterno m_lab1Pdi paterno m_lab1
Pdi paterno m_lab1c09271
 
Ul rc_cap4_capa de red - encaminamiento ruteo
 Ul rc_cap4_capa de red - encaminamiento ruteo Ul rc_cap4_capa de red - encaminamiento ruteo
Ul rc_cap4_capa de red - encaminamiento ruteoc09271
 
Ul rc_cap3_el nivel de red en internet
 Ul rc_cap3_el nivel de red en internet Ul rc_cap3_el nivel de red en internet
Ul rc_cap3_el nivel de red en internetc09271
 
Ul rc_cap2_la capa de red
 Ul rc_cap2_la capa de red Ul rc_cap2_la capa de red
Ul rc_cap2_la capa de redc09271
 
X 4 prospeccion
X 4 prospeccionX 4 prospeccion
X 4 prospeccionc09271
 
Carrier ethernetessentials
Carrier ethernetessentialsCarrier ethernetessentials
Carrier ethernetessentialsc09271
 
Metro ethernet-services
Metro ethernet-servicesMetro ethernet-services
Metro ethernet-servicesc09271
 
Metroethernet redes-y-servicios
Metroethernet redes-y-serviciosMetroethernet redes-y-servicios
Metroethernet redes-y-serviciosc09271
 
Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i
 Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i
Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial ic09271
 
Ia 2014 2 balotario de la pc1
Ia 2014 2 balotario de la pc1Ia 2014 2 balotario de la pc1
Ia 2014 2 balotario de la pc1c09271
 
9275315981 reduce
9275315981 reduce9275315981 reduce
9275315981 reducec09271
 
Utp sirn_s3_red perceptron
 Utp sirn_s3_red perceptron Utp sirn_s3_red perceptron
Utp sirn_s3_red perceptronc09271
 
Utp 2014-2_pdi_sap2 iluminacion y modos de color
 Utp 2014-2_pdi_sap2 iluminacion y modos de color Utp 2014-2_pdi_sap2 iluminacion y modos de color
Utp 2014-2_pdi_sap2 iluminacion y modos de colorc09271
 
Utp 2014-2_ia_s2_intro a las rna
 Utp 2014-2_ia_s2_intro a las rna  Utp 2014-2_ia_s2_intro a las rna
Utp 2014-2_ia_s2_intro a las rna c09271
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2c09271
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2c09271
 

Más de c09271 (20)

0121 2494-pys-50-11 (1)
0121 2494-pys-50-11 (1)0121 2494-pys-50-11 (1)
0121 2494-pys-50-11 (1)
 
S01.s1 material
S01.s1   materialS01.s1   material
S01.s1 material
 
jcbenitezp
jcbenitezpjcbenitezp
jcbenitezp
 
Pdi paterno m_lab1
Pdi paterno m_lab1Pdi paterno m_lab1
Pdi paterno m_lab1
 
Ul rc_cap4_capa de red - encaminamiento ruteo
 Ul rc_cap4_capa de red - encaminamiento ruteo Ul rc_cap4_capa de red - encaminamiento ruteo
Ul rc_cap4_capa de red - encaminamiento ruteo
 
Ul rc_cap3_el nivel de red en internet
 Ul rc_cap3_el nivel de red en internet Ul rc_cap3_el nivel de red en internet
Ul rc_cap3_el nivel de red en internet
 
Ul rc_cap2_la capa de red
 Ul rc_cap2_la capa de red Ul rc_cap2_la capa de red
Ul rc_cap2_la capa de red
 
X 4 prospeccion
X 4 prospeccionX 4 prospeccion
X 4 prospeccion
 
Carrier ethernetessentials
Carrier ethernetessentialsCarrier ethernetessentials
Carrier ethernetessentials
 
64 66
64 6664 66
64 66
 
Metro ethernet-services
Metro ethernet-servicesMetro ethernet-services
Metro ethernet-services
 
Metroethernet redes-y-servicios
Metroethernet redes-y-serviciosMetroethernet redes-y-servicios
Metroethernet redes-y-servicios
 
Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i
 Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i
Utp pdi_2014-2_sap3 transformaciones básicas a nivel espacial i
 
Ia 2014 2 balotario de la pc1
Ia 2014 2 balotario de la pc1Ia 2014 2 balotario de la pc1
Ia 2014 2 balotario de la pc1
 
9275315981 reduce
9275315981 reduce9275315981 reduce
9275315981 reduce
 
Utp sirn_s3_red perceptron
 Utp sirn_s3_red perceptron Utp sirn_s3_red perceptron
Utp sirn_s3_red perceptron
 
Utp 2014-2_pdi_sap2 iluminacion y modos de color
 Utp 2014-2_pdi_sap2 iluminacion y modos de color Utp 2014-2_pdi_sap2 iluminacion y modos de color
Utp 2014-2_pdi_sap2 iluminacion y modos de color
 
Utp 2014-2_ia_s2_intro a las rna
 Utp 2014-2_ia_s2_intro a las rna  Utp 2014-2_ia_s2_intro a las rna
Utp 2014-2_ia_s2_intro a las rna
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2
 
Utp sirn_s2_rna 2014-2
 Utp sirn_s2_rna 2014-2 Utp sirn_s2_rna 2014-2
Utp sirn_s2_rna 2014-2
 

Utp sirn_sl9 sistemas difusos

  • 1. M. Sc. Ing. José C. Benítez P. Sistemas Inteligentes y Redes Neuronales (W0IA) Sistemas Difusos Laboratorio: 9
  • 2. Objetivo Fundamento teórico: Los sistemas difusos. Laboratorio: Sistemas Difuso con MatLab. Informe de Laboratorio. Sistemas Difusos 2
  • 3. Objetivos Revisar los conceptos de los sistemas basados en lógica difusa comúnmente llamados sistemas difusos. Desarrollar de un control difuso mediante el Toolbox de MatLab. Fortalecer su competencia redactora del alumno mediante la redacción del informe de laboratorio con el desarrollo y preguntas del laboratorio. 3
  • 4. Sistema difuso con MatLab 4 EJEMPLO: Modelar un SdCbLB con MatLab: Se desea implementar una lavadora con un sistema difuso. En tal sentido se ha propuesto un sistema de control difuso con las siguientes características: - Entradas: Peso y Nivel de suciedad. - Salida: Cantidad de Detergente. -------------------------------------------------------------------------- Se define las Reglas Difusas para el nivel de detergente: Cantidad de Detergente
  • 5. Sistema difuso con MatLab 5 Se define los Conjuntos Difusos para cada variable difusa: Peso Suciedad Cantidad de detergente:
  • 6. Sistema difuso con MatLab 6 Usando el Toolbox de MatLab: 1. Ingrese al MatLab 2. Escriba Fuzzy en el Command Window Figura 1: Interfaz Grafica de Lógica Difusa para MatLab Ingresando al Toolbox de Sistemas Difusos de MatLab
  • 7. Sistema difuso con MatLab 7 Usando el Toolbox de MatLab: 3. Si desea Adicionar una entrada o salida en el sistema, seleccionamos Edit > Add variable > Input/Output. Figura 2: Adicionar una entrada al sistema difuso Agregando una entrada/salida difusa al Sistema Difuso
  • 8. Sistema difuso con MatLab 8 Usando el Toolbox de MatLab: 4. Para nuestro sistema debemos adicionar una entrada mas (input2). Figura 3: Sistema Difuso con 2 entradas.
  • 9. Sistema difuso con MatLab 9 Usando el Toolbox de MatLab: Cambio de nombre de las variables difusas 5. Procedemos a cambiar los nombres de las variables de entrada. En la figura 3 seleccionamos input1 y lo cambiamos por Peso; seleccionamos input2 y lo cambiamos por nivel de suciedad. Finalmente seleccionamos output1 por cantidad de detergente. Guardar el sistema difuso 6. Para guardar como “Lavadora ”el sistema difuso (archivo) seleccionamos File > Export > To file Figura 4: Guardar archivo de trabajo
  • 10. Sistema difuso con Matlab 10 Usando el Toolbox de MatLab: 7. A continuación debemos especificar las funciones de pertenecía de los conjuntos . 8. Seleccionamos Edit > Membership Functions (Ctrl+2) Figura 5: Modificar los parámetros de las funciones de pertenencia.
  • 11. Sistema difuso con Matlab 11 Usando el Toolbox de MatLab: 9. En la figura se muestra las funciones de pertenencia para cada uno de los conjuntos difusos. 10. Hacer click sobre una variable difusa para seleccionar y editar sus valores (queda bordeado de rojo y con línea roja). 11. De manera demostrativa se realizara la implementación de la primera variable Peso. Figura 6: Funciones membership de la variable Peso.
  • 12. Sistema difuso con Matlab 12 Usando el Toolbox de MatLab: Modificando los valores de una variable difusa 10. Según datos del problema la variable peso posee un rango de [0-10], para obtener este rango modificamos en el campo Range el intervalo de [0-1] a [0-10]. Agregando funciones de pertenencia de la variable difusa 11. Seleccionamos Edit > Add Custom MF. Se debe agregar tantas funciones de pertenencia como hagan falta para definir la variable difusa. Figura 7: Adicionar las funciones de pertenencia.
  • 13. Sistema difuso con Matlab 13 Usando el Toolbox de MatLab: 11. En el campo MF name reemplazamos mf1 por Liviano, para evitar confusiones. En el siguiente paso cambiaremos todos los nombres de acuerdo a nuestro problema. Figura 8: Cambio de nombre la función de pertenencia de una variable difusa.
  • 14. Sistema difuso con MatLab 14 Usando el Toolbox de MatLab: Condiciones del problema 12.La variable peso está definida por cuatro funciones de pertenencia como se describen a continuación: • Liviano: Función trapecio truncado. Constante de [1-2] y decreciente en forma lineal de [2-3]. • Regular: Función triangular de [2-6] con un cenit en 4. • Pesado: Función triangular de [4-8] con un cenit en 6. • Muy pesado: Función trapecio truncado. Constante de [8-10] y creciente en forma lineal de [7-8].
  • 15. Sistema difuso con MatLab 15 Usando el Toolbox de MatLab: 13. Para completar las cuatro funciones de pertenencia para la variable peso, ingresamos al sistema los valores que se presentan en la siguiente tabla 1. Tabla 1: Valores para las funciones de pertenencia de la variable Peso. Peso: • Liviano: FdP: trapecio truncado (trapmf). Constante de [0-2] y decreciente en forma lineal de [2-3]. P: [-3 0 2 3] • Regular: FdP: triangular (trimf) de [2-6] con un cenit en 4. P: [2 4 6] • Pesado: FdP: triangular (trimf) de [4-8] con un cenit en 6. P: [4 6 8] • Muy pesado: FdP: trapecio truncado (trapmf). Constante de [8-10] y creciente en forma lineal de [7-8]. P: [7 8 10 12]
  • 16. Sistema difuso con MatLab 16 Usando el Toolbox de MatLab: 14. Luego de completar las cuatro funciones de pertenencia se podrá visualizar la siguiente pantalla tal como describe la figura. Figura 9: Definición de la variable difusa peso mediante cuatro funciones de pertenencia.
  • 17. Sistema difuso con Matlab 17 Usando el Toolbox de MatLab: 15. De la misma manera la variable de entrada Nivel de suciedad y la variable de salida Cantidad de Detergente debe ser llenado. Figura 10: Sistema Difuso con 2 entradas. Nivel de suciedad: • Poco sucio: FdP: triangular (trimf) de [-2 2] con un cenit en 0. P: [-2 0 2] • Sucio: FdP: trapecio truncado (trapmf). Constante de [3 5], creciente lineal en [1 3]. y decreciente lineal en [5 7]. P: [1 3 5 7] • Muy Sucio: FdP: triangular (trimf) de [6 14] con un cenit en 10. P: [6 10 14]
  • 18. Sistema difuso con Matlab 18 Usando el Toolbox de MatLab: 15. De la misma manera la variable de entrada Nivel de suciedad y la variable de salida Cantidad de Detergente debe ser llenado. Figura 10: Sistema Difuso con 2 entradas. Cantidad de Detergente: • Bajo: FdP: triangular (trimf) de [-3 3] con un cenit en 0. P: [-3 0 3] • Medio: FdP: triangular (trimf) de [2 8] con un cenit en 5. P: [2 5 8] • Alto: FdP: triangular (trimf) de [7 13] con un cenit en 10. P: [7 10 13]
  • 19. Sistema difuso con Matlab 19 Usando el Toolbox de MatLab: 16. Para adicionar las reglas difusas seleccionamos Edit > Rules (Ctrl+3). Figura 10: Agregando reglas difusas.
  • 20. Sistema difuso con Matlab 20 Usando el Toolbox de MatLab: 17. Aparecerá la siguiente pantalla que se muestra en la figura. Figura 11: Editor de reglas difusas.
  • 21. Sistema difuso con Matlab 21 Usando el Toolbox de MatLab: 18. En la ventana del editor de reglas, se pueden editar reglas basándose en reglas if then combinando las entradas con not, and y or. Para adicionar una regla se debe seleccionar las opciones que presentan las entradas y la salida e ingresar la regla deseada para finalmente presionar Add rule. Ejemplo. Si el Peso es Liviano y el Nivel de Suciedad es PocoSucio entonces la cantidad de detergente será bajo.
  • 22. Sistema difuso con MatLab 22 Usando el Toolbox de MatLab: 19. De esta manera todas las reglas difusas deben se ingresadas al sistema difuso.
  • 23. Sistema difuso con Matlab 23 Usando el Toolbox de MatLab: 20. Para analizar nuestro sistema difuso para diferentes valores de entrada seleccionamos View > Rules automáticamente se mostrará la salida del sistema para diferentes entradas. Resultado: Para unas entradas de: Peso = 5 Nivel de Suciedad = 5 La salida será: Cantidad de detergente = 5
  • 24. Sistema difuso con MatLab 24 Usando el Toolbox de MatLab: Modificando los entradas (input): [2 2 ] para obtener una nueva salida. Resultado: Para unas entradas de: Peso = 2 Nivel de Suciedad = 2 La salida será: Cantidad de detergente = 5
  • 25. Sistema difuso con MatLab 25 Usando el Toolbox de MatLab: Se puede mover las líneas rojas verticales para obtener resultados “online” analógicos. Resultado: Para unas entradas de: Peso = 7.75 Nivel de Suciedad = 3.14 La salida será: Cantidad de detergente = 7.69
  • 26. Laboratorio 26 Implementar un sistema difuso (SdCbLD – Sistema de Control basado en Lógica Difusa) para el control automático de: 1. Frenado de un automóvil. Considerar las variables de entrada presión y radio. 2. Un ventilador en una sala de conferencias. Considerar las variables de entrada temperatura, área y número de personas. 3. Un ascensor de un edificio. Considerar las variables de entradas que estime pertinentes. 4. Encendido de un motor del discovery. Considerar las variables de entradas que estime pertinentes. En cada una de los sistemas: a. Diseñar sus reglas difusas. b. Diseñar las funciones de pertenencia (tipos y rango). c. Comprobar su sistema con el toolbox de MatLab.
  • 27. Informe de Laboratorio 27 Es un documento gráfico en lo posible y es redactado en Word con el desarrollo de éste laboratorio. Niveles de Informe: Primer nivel: Observaciones y comentarios. Imágenes con observaciones y comentarios cortos. Redactar al ir desarrollando el laboratorio. (Requiere desarrollar el laboratorio). Segundo nivel: Conclusiones. Redactar al terminar el laboratorio.(Requiere haber desarrollado el laboratorio). Tercer Nivel: Recomendaciones. (Requiere lectura de otras fuentes). Presentación: Dentro de su Carpeta Personal del Dropbox crear una carpeta para el Laboratorio 9 con el siguiente nombre: SIRN_PaternoM_Lab9 Adjuntar en esta carpeta: El Informe de Laboratorio 9. Los archivos “*.fig” y “*.m” utilizados. Las fuentes deben conservar el nombre original de archivo y se debe agregar _L9 al final.
  • 28. Laboratorio 9. Sistemas Difusos Blog del curso: utpsirn.blogspot.com 28