Вы находитесь на странице: 1из 18

LÓGICA DIFUSA

M.C. IRMA FLORES NAVA

FRANCISCO JAVIER FLORES SERRATO 1531109371


JESUS DOMINGUEZ SOSA 1531109365
EMMANUEL GUTIERREZ RAMOS 1531109382
INTRODUCCIÓN

Se realizará una pequeña investigación de comandos o funciones para la utilización de Matlab,


ocuparemos las funciones para poder graficar valores de pertenencia solicitado en el trabajo.
También se realizará las gráficas de membresía la parte de las variables lingüística y modificadores,
para observar el comportamiento o lo que se ha visto en el curso, gracias al funcionamiento del
programa de Matlab esto se vera las graficas virtualmente y con más detalle su visualización de las
gráficas.
Se comprenderá códigos en Matlab y ver cómo es su funcionamiento del código, los comando que
estén en el código se comentaran su realización de cada comando y poder visualizar su
comportamiento.
PARTE A
Investigue y defina con sus propias palabras la función que desempeñan los siguientes comandos,
recuerde que se utilizara para resolver la PARTE B de esta práctica.

1. plot: la función plot adopta diferentes formas, según los argumentos de entrada.
 si y es un vector, plot(y) grafica los elementos de y, conecta los puntos con líneas rectas.
 si se especifican dos vectores, plot (x, y) produce un gráfico de y contra x.
2. axis:
 ofrece varias opciones para configurar la escala, la orientación y la relación de aspecto de las
gráficas.
 defina los límites de los ejes x e y
3. legend: proporciona una forma fácil para identificar las líneas individuales:

4. xlabel: pone títulos en el eje x


5. ylabel: pone títulos en el eje y
6. title: agregue un título
7. subplot: permite visualizar varios diagramas en la misma ventana o imprimirlos en la misma
hoja de papel.
8. hold: permite agregar diagramas a una gráfica existente
9. figure: crea una imagen y especifica la propiedad nombre. por defecto, el título resultante
incluye el número de figura.
10. stem: traza datos de secuencia
 stem (..., 'fill') especifica si colorear el círculo al final
del tallo.
 stem (..., linespec) especifica el estilo de línea, el
símbolo de marcador y el color

11. trimf: Hace una forma triangular, es una función de un vector, (x, y) depende de tres
parámetros escalares (a, b, y c).
12. trapmf: es una forma trapezoidal, es una función de un vector, ( x, y) depende de cuatro
parámetros escalares (a, b, c, y d)
13. gaussmf: devuelva los valores y correspondientes para la función de membresía de Gauss.
Esta función de membresía tiene la forma de la distribución gaussiana (normal), pero tiene
una escala de un valor máximo de 1.

14. gauss2mf: La función de membresía combinada de Gauss. Es una combinación de


parámetros. De la primera función.

15. gbellmf: La función de campana generalizada depende de tres parámetros a, b y c, donde el


parámetro b(6,1) es generalmente positivo. El parámetro c(4,0.5) ubica el centro de la curva.

16. sigmf:
Función de membresía sigmoidal Colocar todo en la página
La función sigmf (x, [a c]), son parámetros en un vector x, y depende de dos parámetros a y
c. a=es donde inicia ,c= es el centro de la curva
17. dsigmf: Es la diferencia entre dos funciones de membresía sigmf
y = dsigmf (x, [a1 c1 a2 c2])
La función de membresía dsigmf depende de cuatro parámetros, a1, c1, a2 y c2, y es la
diferencia entre dos de estas funciones sigmf.

18. psigmf: es simplemente el producto de dos de tales curvas trazadas para los valores del
vector x.
f1 (x; a1, c1) × f2 (x; a2, c2)
Los parámetros se enumeran en el orden [a1 c1 a2 c2].

PARTE B. GRÁFICAS Y VALORES DE PERTENENCIA.


a. Grafique (con plot o subplot y con stem) y explique las siguientes funciones, (el valor de x
debe ser desde 0 hasta 10 con incrementos de 0.2.
i. trimf, los valores de los parámetros deben ser de x y de [3,6,9].
ii. trapmf, los valores de los parámetros deben ser de x y de [2,4,6,8].
iii. gaussmf, los valores de los parámetros deben ser de x y de [2,5].
iv. gauss2mf, los valores de los parámetros deben ser de x y de [1,3,3,4].
v. gbellmf, los valores de los parámetros deben ser de x y de [2,4,6].
vi. sigmf, los valores de los parámetros deben ser de x y de [2,4].
vii. dsigmf, los valores de los parámetros deben ser de x y de [5,2,5,7].
viii. psigmf,los valores de los parámetros deben ser de x y de [2,3-5,8].

Grafique con Plot o Subplot y con Stem y explique las siguientes funciones el valor de x
debe ser desde 0 hasta 10 con incrementos de 0.2.):

i) Trimf
Se muestra el código para graficar las funciones para generar una función triangular en
Matlab para poder visualizar de forma gráfica los valores de partencia en esta función.
Ya que solo hay un valor de x (6) que tiene un valor de pertenencia de 1 y los demás son
de menor grado de pertenencia.

Codigo para graficar la funcion Trimf

Grafica que se obtiene con Plot esto en donde se muestra como los valores de
pertenecía clásicos en una función triangular.

Para generar esta grafica la única modificación fue el comando de graficar ahora
remplazar Plot(x,y) por Stem(x,y) y se visualizara de esta forma la gráfica esta es una
forma para poder encontrar y relacionar los valores de pertenecía con cada uno de sus
respectivos elementos de conjunto
ii) Trapmf
Código para graficar con plot una función trapezoidal en Matlab.

Grafica que se genera con una función Trapmf en el cual ahora en este ejemplo ya hay
tres valores del universo o conjunto que tiene el grado de pertenecía 1 y a veces es
conveniente utilizar para programar

Ahora grafiquemos con Stem para visualizar y relacionar en pares ordenados los
elementos y us grado de pertenencia.
iii) Gaussmf

Se muestra el código necesario para visualizar la gráfica de una función campana de


gauss en Matlab
Ya cuando se realizó el código con los parámetros y comandos necesarios para visualizar
de mejor manera el comportamiento de una función campana de gauss
Ahora se ejecuta el código y se genera una gráfica como la siguiente:

En el código se necesitaron dos parámetros para graficar el 2,5 estos son para acotar la
gráfica generada con el comando gauss ya que se nota en la gráfica cómo va el
crecimiento a partir de 2 y llega hasta 5 que es el grado de pertenecía mayor (1).
Grafiquemos con Stem para una mejor visualización de los elementos.

iv) Gauss2mf
El código para graficar en Matlab es el siguiente:
En la ventana de comando escribir el código con los comandos necesarios para graficar
una campana de gauss2 al ejecutar se generará una gráfica complot que se muestra a
continuación:

En la cual los parámetros de [ 1, 3, ,3 ,4] son para graficar la figura con gauss2mf y se
muestra que los elementos de 3,4 son los únicos que tiene grado de pertenecía 1 en la
gráfica.
Ahora grafiquemos con Stem

v) Gbellmf

Código en Matlab
Se grafica con el comando plot
Se observa una figura parecida como una campana de gauss, pero a diferencia el rango
de valores de apoyo se cota más lento la curva que define estos valores desde 2 y
termina en 10 haciendo el apoyo más acotado y también el centro tiene más elementos.

Ahora se muestra la gráfica con Stem.


vi) Sigmf
Código para generar una gráfica con el comando sigmf en Matlab.

Ya escrito el código, este genera una gráfica con el comando plot


Aquí se muestra una gráfica función S que son ya establecidas modelos ya establecidos
como formas predeterminadas para ayudar a elegir la que más te convenga en tu
ejemplo o tu situación.
En la que hay un punto de inflexión y este define los elementos que tiene mayor grado
de pertenecía, así como los que va disminuyendo hasta el 0 como al 1
Función S
Ahora se grafica con el comando Stem.

vii) Dsigmf
Código para generar una gráfica con el comando plot en Matlab.

Ahora se ejecutará el código y genera un gráfico parecido a la campana de gauss pero


con otros cambios en los elementos y grados de pertenencia en los elementos del
conjunto pero estos cambios son radicales en la hora de definir nuestro elementos y
grados de pertenencia ya que son demasiados importantes para la toma de decisiones.
Ahora con comando Stem para visualizar grados de pertenecía.

viii) Psigmf

Código

ahora ya escrito el código se ejecuta y genera la siguiente función:


Donde se puede observar una función con muchas curvas y permite un arreglo especifico
de pertenencia con valores de pertenencia de 1 y menores en donde le apoyo esta algo
acotado y el centro está definido por más de un elemento del conjunto.

En la siguiente figura se muestra la gráfica, pero el con el comando Stem.

PARTE C. VARIABLES LINGÜÍSTICAS Y MODIFICADORES LINGÜÍSTICOS:


1. Ejemplo
a. Variable lingüística: edades de una persona
b. Universo del discurso: [0 a 90]años.
c. Universo de etiquetas lingüística: {niño, joven, adulto, mayor, viejo}
d. Grafica de funciones de pertenencia:
i. M(niño)= sigmf(x; -0.3,20)
ii. M(joven)= gaussmf(x;9,25)
iii. M(adulto)= gaussmf(x;9,45)
iv. M (adulto mayor) = gaussmf(x;9,65)
v. M(viejo)= sigmf(x;0.3,70)
e. Los resultados a los del ejemplo son los mismos

2. Diseñe las funciones de membresía para modelar las siguientes variables lingüística
indique las etiquetas que puede tomar.

a. Grado de conocimiento del alumno en la materia


Universo = [0 10] Calificación
Etiquetas lingüísticas: {Burro, No muy listo, Regular, Listo, Inteligente}
M(Burro)= gaussmf(x , [1 2]);
M(No muy listo)= gaussmf(x , [2 4]);
M(Regular)= gaussmf(x , [2 6]);
M(Listo)= gaussmf(x , [2 8]);
M(Inteligente)= sigmf(x , [1 10]);
b. Grado de avance de un proyecto final de alguna materia
Universo = [0 a 30] días de trabajo
Etiquetas lingüísticas: {Poco, Significativo, Mucho, Terminado}
M(Poco)= sigmf(x , [-0.3 7]);
M(Significativo)= gaussmf(x , [4 10]);
M(Mucho)= gaussmf(x , [4 15]);
M(Casi terminado)= gaussmf (x , [4 20]);
M(Terminado)= sigmf(x , [0.3 27]);

c. Temperatura corporal
Universo = [20 a 50] °C
Etiquetas lingüísticas: {Paro cardiaco, Musculatura rígida, Apatía, Hipotensión, Hipotermia, Normal,
Convulsiones, Golpe de calor}
M(Paro cardiaco)= sigmf(x , [-0.3 26]);
M(Musculatura rigida)= gaussmf(x , [4 28]);
M(Apatía)= gaussmf(x , [4 30]);
M(Hipotensión)= gaussmf (x , [4 32]);
M(Hipotermia)= gaussmf (x , [4 33]);
M(Normal)= trapmf(x , [30 36 38 42 ]);
M(Convulsiones)= gaussmf (x , [4 42]);
M(Golpe de calor)= sigmf(x , [0.3 44]);

d. Altura de edificios
Universo = [30 800] metros
Etiquetas lingüísticas: {Bajos, Altos, Muy altos, Rascacielos}
M(Bajos)= trapmf(x , [0 50 150 200]);
M(Altos)= trapmf(x , [100 180 300 350]);
M(Muy altos)= trapmf(x , [260 310 500 550]);
M(Rascacielos)= trapmf (x , [470 550 800 850]);
Parte d .reglas if …then ,producto cartesiano e implicaciones difusas
a. El siguiente es un ejemplo de regla difusa, léalo, compréndalo y realice lo solicitado:
 Evalué la membresía de la regla difusa
‘’si estudio mucho, entonces soy un excelente estudiante’’,
 Considere que valores lingüísticos
‘’estudio mucho’’ y ‘’excelente estudiante’’ están definidos como

b. Realice
i. Grafique las dos funciones de pertenencia
ii. Abra un script(M-File)y escriba el siguiente código
Producto cartesiano

Implicación difusa

Вам также может понравиться