Buscar

ex_aula_fzz

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

import matplotlib.pyplot as plt
import numpy as np
import skfuzzy as fuzz
from skfuzzy import control as ctrl
if __name__=="__main__":
 print("exemplo")
 #variaveis de entrada
 dinheiro = ctrl.Antecedent(np.arange(0, 101, 1), 'dinheiro')
 pessoal = ctrl.Antecedent(np.arange(0, 101, 1), 'pessoal')
 #variavel de saida
 risco = ctrl.Consequent(np.arange(0, 101, 1), 'risco')
 #fuzzyficação
 dinheiro['inadequado'] = fuzz.trapmf(dinheiro.universe, [0, 0, 30, 50])
 dinheiro['medio'] = fuzz.trimf(dinheiro.universe,[30, 50, 70])
 dinheiro['adequado'] = fuzz.trapmf(dinheiro.universe, [50, 70, 100, 100])
 pessoal['baixo'] = fuzz.trapmf(pessoal.universe, [0, 0, 30, 70])
 pessoal['alto'] = fuzz.trapmf(pessoal.universe, [30, 70, 100, 100])
 risco['pequeno'] = fuzz.trapmf(risco.universe, [0, 0, 40, 60])
 risco['normal'] = fuzz.trimf(risco.universe, [40, 60, 80])
 risco['alto'] = fuzz.trapmf(risco.universe, [60, 80, 100, 100])
 dinheiro.view()
 pessoal.view()
 risco.view()
 #definição das regras
 regra1 = ctrl.Rule(dinheiro['adequado'] | pessoal['baixo'], risco['pequeno'])
 regra2 = ctrl.Rule(dinheiro['medio'] & pessoal['alto'], risco['normal'])
 regra3 = ctrl.Rule(dinheiro['inadequado'], risco['alto'])
 #ativação das regras
 controle_risco = ctrl.ControlSystem([regra1, regra2, regra3])
 simulador_risco = ctrl.ControlSystemSimulation(controle_risco)
 simulador_risco.input['dinheiro']=35
 simulador_risco.input['pessoal']=60
 simulador_risco.compute()
 
 #agregação
 print(simulador_risco.output['risco'])
 risco.view(sim=simulador_risco)
 plt.show()

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando