You are on page 1of 11

Universidad Nacional de Ingeniería

Facultad de Electrotecnia y Computación

Ing. Electrónica

Control aplicado
Docente: Álvaro Gaitán

Elaborado por:

➢ Ricardo Gabriel Jarquín Anduray


Carnet: 2013-61299
➢ Josué Enrique Delgado Rocha
Carnet:2013-61081

Tema: Asignación #3 “Control Fuzzy”

Grupo: 5N2-Eo

Fecha: sábado 27 de abril 2017


Códigos realizados en octave
Ejercicio #1
%%##Ejercicio #1
pkg load fuzzy-logic-toolkit##crear un nuevo modelo difuso
generico=newfis('salida-z','mamdani','min','max','min','max','centroid');
%%## agregar entrada X y funciones de membresia
generico=addvar(generico,'input','X',[0 10]);
generico=addmf(generico,'input',1,'Low','trimf',[ -10 0 10]);
generico=addmf(generico,'input',1,'High','trimf',[0 10 20]);

%%## agregar entrada Y y funciones de membresia


generico=addvar(generico,'input','Y',[0 10]);
generico=addmf(generico,'input',2,'Low','trimf',[ -10 0 10]);
generico=addmf(generico,'input',2,'High','trimf',[0 10 20]);

%%## agregar salida Z y funciones de membresia


generico=addvar(generico,'output','Z',[0 10]);
generico=addmf(generico,'output',1,'Low','trimf',[ -10 0 10]);
generico=addmf(generico,'output',1,'High','trimf',[0 10 20]);

%%##dibujar funciones
plotmf(generico,'input',1)
plotmf(generico,'input',2)
plotmf(generico,'output',1)
%%## reglas
matriz_reglas=[1 1 2 1 1; 1 2 1 1 1;2 1 1 1 1;2 2 2 1 1];
generico=addrule(generico,matriz_reglas);
showrule(generico)
%%##evaluacion
salidaz=evalfis([0,3.2],generico)

Ejercicio #2

%## Ejercicio 2
pkg load fuzzy-logic-toolkit##crear un nuevo modelo difuso
apertura=newfis('apertura-
diafragma','mamdani','min','max','min','max','centroid');
%## agregar entrada luminosidad y funciones de membresia
apertura=addvar(apertura,'input','Luminosidad',[0 200]);
apertura=addmf(apertura,'input',1,'Low','trimf',[ 0 100 200]);
apertura=addmf(apertura,'input',1,'High','trimf',[100 200 300]);
%## agregar entrada velocidad y funciones de membresia
apertura=addvar(apertura,'input','Velocidad',[100 300]);
apertura=addmf(apertura,'input',2,'Low','trimf',[ 100 200 300]);
apertura=addmf(apertura,'input',2,'High','trimf',[200 300 400]);
%## agregar salida Apertura y funciones de membresia
apertura=addvar(apertura,'output','Apertura',[-10 10]);
apertura=addmf(apertura,'output',1,'Low','trimf',[ -10 0 10]);
apertura=addmf(apertura,'output',1,'High','trimf',[0 10 20]);
%##dibujar funciones
plotmf(apertura,'input',1)
plotmf(apertura,'input',2)
plotmf(apertura,'output',1)

%## reglas
matriz_reglas=[1 1 2 1 1; 1 2 1 1 1;2 1 1 1 1;2 2 2 1 1];
apertura=addrule(apertura,matriz_reglas);
showrule(apertura)
%##evaluacion
Adiafragma=evalfis([140,140],apertura)

You might also like