Cetina Camacho Giovanni Control inteligente
INTRODUCCIÓN
En esta práctica se desarrollará un programa en el software MATLAB con el fin de
obtener el porcentaje de pertenencia de un valor cualquiera dentro de una variable
lingüística, la cual tiene una función de membresía.
μF(x) nos indica cual es el grado de pertenencia de x al atributo F.
METODOLOGÍA
Como se mencionó anteriormente, se usó el software Matlab para el desarrollo de
esta practica.
Lo que se hizo en primera instancia fue obtener los intervalos de las funciones:
Prismática
Triangular
Sigmoidal
Para lograr esto se tomó en cuento los valores de las funciones en los cuales x se
hace 0 o 1. Y en los intervalos que no cumplen ninguno de estos requisitos se usó
la ecuación de la recta.
Ejemplo de los intervalos
que toma la función de
pertenecía triangular.
Cetina Camacho Giovanni Control inteligente
Una vez que se obtuvo los intervalos de cada función de membresía, se prosiguió
a programar. Para esto, se declaró cada uno de los programas como una función,
con el fin de hacer uso de esta cuando queramos solo introduciendo los
argumentos necesarios. Como lo son el valor del cual se quiere saber el
porcentaje de pertenencia y los rangos en el eje x en los cuales la función va a
trabajar. Estos rangos difieren según la función de membresía. Por ejemplo: la
función triangular tiene tres, mientras que la trapezoidal tiene cuatro.
Una vez que se tiene claro esto, con el uso de condicionales “if” se declaró los
puntos por los que pasa la función con ayuda de los intervalos obtenidos
anteriormente.
Así mismo, se hizo la programación necesaria para que el programa nos arrojara
tanto los resultados gráficos y como el porcentaje de pertenencia del valor que se
introdujo.
Para finalizar se hizo un último script para juntar las tres funciones hechas, esto
con el fin de que el usuario pueda escoger el número de funciones que desee y de
igual manera escoger un valor para evaluar su grado de pertenencia en cada una
de las funciones.
RESULTADOS
A continuación se mostrará una prueba de cada función y el valor que se introdujo
así como los rangos de cada función:
SIGMOIDAL: fuzzySigm(60,45,90,135)
Cetina Camacho Giovanni Control inteligente
TRIANGULAR: fuzzyTriangular(86,45,90,135)
TRAPECIO: fuzzyTrap(100,45,90,135,180)
Cetina Camacho Giovanni Control inteligente
PROGRAMA CON LAS 3 FUNCIONES
Cetina Camacho Giovanni Control inteligente
Como conclusión, la lógica difusa en los últimos años ha sido utilizada en mayor
medida en la creación de sistemas automáticos gracias a que su manera de
funcionar es muy parecida y podría simular el pensamiento humano, siendo de
suma importancia para el desarrollo de estos sistemas.