Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import ipdb # ipdb.set_trace()
- import numpy as np
- import matplotlib.pyplot as plt
- def trimf(x, abc):
- a, b, c = abc
- y = np.zeros(len(x))
- left_side_eq = (1/(b-a))*(x-a)
- right_side_eq = (1/(c-b))*(-x+c)
- y = np.minimum(left_side_eq,right_side_eq)
- y = np.maximum(y,0)
- return y
- # conjunto Universo das variáveis base
- #X = [0, 1, 2, ... 10]
- X = np.arange(0,10.1,1)
- # Funções de Pertinência
- u_x_baixo = trimf(X,[0,3,6]) # funcao de pertinencia para variável linguística x com valor baixo
- u_x_medio = trimf(X,[2,5,8]) # funcao de pertinencia para variável linguística x com valor medio
- u_x_alto = trimf(X,[4,7,10]) # funcao de pertinencia para variável linguística x com valor alto
- # plotá-las
- plt.plot(X,u_x_baixo)
- plt.plot(X,u_x_medio)
- plt.plot(X,u_x_alto)
- plt.show()
- # plotar a união entre u_x_baixo e u_x_alto
- u_uniao = np.maximum(u_x_baixo,u_x_alto)
- plt.plot(X,u_uniao)
- plt.show()
- # plotar a intersecção entre u_x_baixo e u_x_alto
- u_interseccao = np.minimum(u_x_baixo,u_x_alto)
- plt.plot(X,u_interseccao)
- plt.show()
- # plotar o complemento do u_x_alto
- u_complemento = 1-(u_x_alto)
- plt.plot(X,u_complemento)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement