Sie sind auf Seite 1von 86

Guía de práctica N° 8

Función de pertenencia triangular


1. Objetivo
1.1. Identificar la función de pertenencia triangular
2. Fundamento Teórico
La función de pertenencia de un conjunto nos indica el grado en que cada elemento de
un universo dado, pertenece a dicho conjunto. Es decir, la función de pertenencia de
un conjunto A sobre un universo X será de la forma: µA:X → [0,1], donde µA (x) = r si r
es el grado en que x pertenece a A.
Las funciones de pertenencia son una forma de representar gráficamente un conjunto
borroso sobre un universo. A la hora de determinar una función de pertenencia,
normalmente se eligen funciones sencillas, para que los cálculos no sean
complicados.
Función Triangular
Definida mediante el límite inferior a, el superior b y el valor modal m, tal que a<m<b.

3. Equipos, materiales
3.1. Equipos

Ítem Equipo Característica Cantidad


1 Computador Programa Uno por
MATLAB/Octave estudiante

4. Indicaciones/instrucciones:
4.1. Los estudiantes trabajan individualmente.
4.2. Cada estudiante presentará un informe de la práctica de laboratorio en la próxima
sesión
5. Procedimiento:
5.1. Escribir el código en MATLAB para una función de pertenencia triangular
%Gráfica triangular clc, clear all;
a= 1; b=5; c=8;
for x=1:0.5:10
if (x < a y(x) = 0);
elseif and (a<=x, x<=b) y(x) = (x-a)/(b-a);
elseif and (b<=x, x<=c) y(x) = (c-x)/ (c - b);
elseif (x > c) y(x) = 0;
end end plot (x, y)
axis ([-3 13 0 1])

5.2. Escribir el código simplificado en MATLAB para una función de pertenencia


triangular
%Gráfica triangular x=0:0.5:1;
y=trimf (x, [1 5 9]);
plot (x, y)

6. Resultados

Ilustración 1 código extenso función triangular


Ilustración 2 código simplificado función triangular

Ilustración 3 función triangular toolbox Fuzzy


Guía de práctica N° 9
Función de pertenencia trapezoidal
Instrucciones: El estudiante debe llegar antes del inicio de la práctica de laboratorio,
con mandil blanco y materiales solicitados.

1. Objetivos

1.1. Identificar la función de pertenencia trapezoidal

2. Fundamento Teórico

Definida por sus límites inferior a, superior d, y los límites de soporte inferior b y
superior c, tal que a<b<c<d. En este caso, si los valores de b y c son iguales, se
obtiene una función triangular.

Casos especiales de estas funciones trapezoidales son aquéllas en las que algunos
parámetros toman valores no finitos:
3. Equipos
3.1. Equipos

Ítem Equipo Característica Cantidad


1 Computador Programa Uno por
MATLAB/Octave estudiante

4.
Indicaciones/instrucciones:
4.1. Los estudiantes trabajan individualmente.
4.2. Cada estudiante presentará un informe de la práctica de laboratorio en la próxima
sesión

5. Procedimiento:

5.1. Escribir el código en MATLAB para la función de pertenencia trapezoidal

%Gráfica trapezoidal
clc, clear all;
a= 1; b=5; c=6; d=8;
for x=0:0.5:10
if (x < a y(x) = 0);
elseif and (a<=x, x<=b) y(x) = (x-a)/(b-a);
elseif and (b<=x, x<=c) y(x) = 1;
elseif and (c<=x, x<=d) y(x) = (d-x)/ (d - c);
elseif (x > d) y(x) = 0;
end end plot (x, y)
axis ([-3 13 0 1])
5.2. Escribir el código simplificado en MATLAB para una función de pertenencia
trapezoidal

%Gráfica trapezoidal x=0:0.5:1;


y=trapmf (x, [1 2 5 8]);
plot (x, y)

6. Resultados

Ilustración 4 código extenso función trapezoidal

Ilustración 5 código simplificado función trapezoidal


Ilustración 6 función trapezoidal toolbox Fuzzy

Guía de práctica N° 10

Funciones de pertenencia Gaussiana y sigmoidal

1. Objetivos:
- Identificar la función de pertenencia Gaussiana
- Identificar la función de pertenencia sigmoidal
- Identificar la función de pertenencia campana

2. Fundamento Teórico

Función Gaussiana

Definida por su valor medio m y el parámetro k>0. Esta función es la típica campana
de Gauss y cuanto mayor es el valor de k, más estrecha es dicha campana.

Función sigmoidal
Definida por sus límites inferior a, superior b y el valor m o punto de inflexión, tales que
a<m<b. El crecimiento es más lento cuanto mayor sea la distancia a-b. Para el caso
concreto de m=(a+b) /2, que es lo usual, se obtiene la siguiente gráfica

3. Equipos, materiales

3.1. Equipos

Ítem Equipo Característica Cantidad


1 Computador Programa Uno por
MATLAB/Octave alumno

4. Indicaciones/instrucciones:

4.1. Los estudiantes trabajan individualmente.


4.2. Cada estudiante presentará un informe de la práctica de laboratorio en la próxima
sesión

5. Procedimiento:

5.1 Escribir programa en MATLAB

% función de pertenencia Gaussiana


x=-10:0.1:10;
m = 5;
mf1=gaussmf (x, [0.5, m]);
mf2=gaussmf (x, [1, m]);
mf3=gaussmf (x, [2, m]);
subplot (311); plot (x, mf1);
subplot (312); plot (x, mf2);
subplot (313); plot (x, mf3);

5.2. Escribir programa en MATLAB

% función de pertenencia sigmoidal


x=0:0.1:12;
mf1=sigmf (x, [2, 4]);
mf2=sigmf (x, [2, 6]);
mf1=sigmf (x, [2, 8]);
subplot (311); plot (x, mf1);
subplot (312); plot (x, mf2);
subplot (313); plot (x, mf3);

5.3. Escribir programa en MATLAB


% función de pertenencia campana
x=0:0.1:10;
%cambio de a b=2; c=0;
mf1 = gbellmf (x, [2, b, c]);
mf2 = gbellmf (x, [4, b, c]);
mf3 = gbellmf (x, [6, b, c]);
subplot (311); plot (x, mf1, x, mf2, x, mf3); title (' (a) Cambio de a '); axis ([-inf inf 0
1.2]);

%cambio de b
a=5; c=0;
mf1 = gbellmf (x, [a, 1, c]);
mf2 = gbellmf (x, [a, 2, c]);
mf3 = gbellmf (x, [a, 4, c]);
subplot (312); plot (x, mf1, x, mf2, x, mf3); title (' (b) Cambio de b '); axis ([-inf inf 0
1.2]); a=5; b=2;

%cambio de b
mf1 = gbellmf (x, [a, b, -5]);
mf2 = gbellmf (x, [a, b, 0]);
mf3 = gbellmf (x, [a, b, 5]);
subplot (313); plot (x, mf1, x, mf2, x, mf3); title (' (c) Cambio de c '); axis ([-inf inf 0 1.2]);

6. Resultados
Ilustración 7 función gaussiana Toolbox Fuzzy

Ilustración 8 función gaussiana Toolbox Fuzzy


Ilustración 9 función sigmoidal código matlab

Ilustración 10 función sigmoidal positiva Toolbox Fuzzy


Ilustración 11 función sigmoidal negativa Toolbox Fuzzy

Ilustración 12 función campana Toolbox Fuzzy


Ilustración 13 función campana Toolbox Fuzzy

Ilustración 14 función campana Toolbox Fuzzy


Ilustración 15 función campanas Toolbox Fuzzy

Ilustración 16 función campanas Toolbox Fuzzy


Ilustración 17 función campanas Toolbox Fuzzy

Ilustración 18 función campanas código matlab


Ilustración 19 función gaussianas código matlab
Relaciones y Razonamiento difuso
Ilustración 20 producto cartesiano

Ilustración 21 composición
Ilustración 22 producto cartesiano y composición Arduino

Ilustración 23 producto cartesiano y composición MATLAB


Ilustración 24 producto cartesiano y composición Arduino
CONTROLADORES DIFUSOS

Variables lingüísticas

Reglas de control
MÉTODO MAMDANI
Ejercicios método MAMDANI

Ilustración 25 enunciado de control

Ilustración 26 entrada y salida del modelo


Ilustración 27 funciones de membresía entrada

Ilustración 28 funciones de membresía salida


Ilustración 29 reglas de control

Ilustración 30 defusificacion
Ilustración 31 curva de control

Ilustración 32 diagrama de bloques del modelo en simulink

Ilustración 33 grafica de salida observada en simulink


Ilustración 34 funciones de membresía de entrada, salida y defusificacion por código matlab

Segundo ejercicio, ventas en función de precios y nivel de ingresos

Ilustración 35 entradas y salidas del modelo


Ilustración 36 funciones de membresía entrada precios

Ilustración 37 funciones de membresía entrada niveles de ingreso


Ilustración 38 funciones de membresía salida ventas

Ilustración 39 reglas de control


Ilustración 40 defusificacion y reglas de control

Ilustración 41 superficie de control


Función Triangular Arduino

Ilustración 42 grafica función triangular en Arduino


METODO SUGENO

Ejercicios método SUGENO

Ilustración 43 enunciado
Ilustración 44 ejercicio 1 del método de mamdani llevado con método de sugeno

Ilustración 45 funciones de membresía de entrada error


Ilustración 46 funciones de membresía salida voltaje

Ilustración 47 reglas de control


Ilustración 48 reglas y defusificacion

Ilustración 49 curva de control


Código en matlab

Ilustración 50 código en matlab, ejercicio control de motor entrada error y salida voltaje

Ilustración 51 curva de control y funciones de membresía código matlab


Ilustración 52 diagrama de bloques en simulink

Ilustración 53 curva de salida observada en simulink

Modelo de un potenciómetro

Ilustración 54 enunciado
Ilustración 55 modelo de control método sugeno

Ilustración 56 funciones de membresía entrada ángulo


Ilustración 57 funciones de membresía salida resistencia

Ilustración 58 reglas de control


Ilustración 59 reglas y defusificacion

Ilustración 60 curva de control


Ilustración 61 código del modelo en matlab
CONTROL PID DIFUSO

Controlador tipo P

Controlador PD
Controlador PID
Controlador tipo P-difuso

Ilustración 62 modelo control proporcional entrada error y salida voltaje

Ilustración 63 regla y defusificacion


Ilustración 64 curva de control

Ilustración 65 diagrama de bloques simulink


Ilustración 66 grafica de salida obtenida en simulink

Ilustración 67 grafica de salida obtenida en simulink


Controlador tipo PD-difuso

Ilustración 68 modelo de control proporcional derivativo

Ilustración 69 funciones de membresía error


Ilustración 70 funciones de membresía derivada del error

Ilustración 71 función de membresía salida voltaje


Ilustración 72 reglas de control

Ilustración 73 reglas y defusificacion


Ilustración 74 superficie de control

Ilustración 75 diagrama de bloques simulink


Ilustración 76 grafica de salida obtenida en simulink

Controlador tipo PD-difuso

Ilustración 77 modelo de control proporcional derivativo controlador 4


Ilustración 78 funciones de membresía error

Ilustración 79 funciones de membresía derivada del error


Ilustración 80 funciones de membresía salida corrección

Ilustración 81 reglas de control


Ilustración 82 reglas y defusificacion

Ilustración 83 superficie de control


Ilustración 84 diagrama de bloques en simulink

Ilustración 85 grafica obtenida en simulink


Controlador tipo PID-difuso

Ilustración 86 modelo de control proporcional integral derivativo

Ilustración 87 funciones de membresía error


Ilustración 88 funciones de membresía derivada del error

Ilustración 89 funciones de membresía integral del error


Ilustración 90 funciones de membresía salida corrección

Ilustración 91 reglas de control PID


Ilustración 92 reglas y defusificacion

Ilustración 93 superficie de control


Ilustración 94 diagrama de bloques PID fusy simulink

Ilustración 95 grafica de salida PID simulink


Fuzzy ejercicio temperatura
Se trata de determinar de manera lógica que se debe hacer para lograr los objetivos de control
de mejor manera posible a partir de una base de conocimiento proporcionada por un
operador humano, sin esta base no es posible desarrollar una aplicación y que esta funcione
de manera correcta.

Se utiliza el conocimiento y experiencia de un operador humano para construir un controlador


que emule el comportamiento de tal persona. Comparado con el control tradicional, el control
difuso tiene dos ventajas prácticas, una es que el modelo matemático del proceso a controlar
no es requerido y otra es que se obtiene un controlador no lineal desarrollado empíricamente
sin complicaciones matemáticas.

Reglas
Ilustración 96 modelo de control para 2 entradas 1 salida

Ilustración 97 funciones de membresía entrada LUZ EXTERIOR


Ilustración 98 funciones de membresía entrada TEMPERATURA

Ilustración 99 funciones de membresía salida POTENCIA FOCO


Ilustración 100 reglas de control

Ilustración 101 reglas y defusificacion


Ilustración 102 superficie de control

Ilustración 103 bloques de control simulink

Ilustración 104 análisis de ondas de salida simulink


METODO TSUKAMOTO
Ilustración 105 código en matlab

Ilustración 106 grafica de entrada, salida y curva de control


Ilustración 107 controlador tsukamoto en Arduino
Ejercicios método Sugeno
3 2
Aproximación de Y = X – 10X

Ilustración 108 modelo de control


Ilustración 109 funciones de membresía entrada x

Ilustración 110 funciones de membresía salida Y


Ilustración 111 reglas de control

Ilustración 112 curva de control


Ilustración 113 reglas y defusificacion

Aproximación de y = senx
Ilustración 114 funciones de membresía entrada

Ilustración 115 funciones de membresía salida


Ilustración 116 reglas de control

Ilustración 117 curva de control


Ilustración 118 reglas y defusificacion

Aproximación de un deshumidificador
Ilustración 119 modelo de control

Ilustración 120 reglas de control


Ilustración 121 curva de control

Ilustración 122 reglas y defusificacion


Aproximación de z = sqrt(x*x + y*y)

Ilustración 123 modelo de control

Ilustración 124 funciones de membresía entrada x


Ilustración 125 funciones de membresía entrada y

Ilustración 126 funciones de membresía salida Z


Ilustración 127 reglas de control

Ilustración 128 reglas y defusificacion


Ilustración 129 superficie de control

Ejercicio

Dado el sistema mecánico:

a) Definir las reglas de control en base a la curva de control

b) Simular el sistema con el Fuzzy Logic Designer

c) Estimar, gráficamente, el voltaje aplicado al motor DC para un error de +10.2 cm en el


sistema mecánico con controlador difuso( método de Sugeno).
Ilustración 130 modelo de control
Ilustración 131 funciones de membresía entrada error

Ilustración 132 funciones de membresía salida


Ilustración 133 reglas de control

Ilustración 134 reglas y defusificacion


Ilustración 135 curva de control

Das könnte Ihnen auch gefallen