Você está na página 1de 4

UNIVERSIDAD NACIONAL DEL

CALLAO
Facultad de Ingeniera Elctrica y
Electrnica
Escuela Profesional de Ingeniera
Electrnica

CURSO :

CONTROL INTELIGENTE

CICLO :

2016-B

PROFESOR :
ING. RODRIGUEZ BUSTINZA, RICARDO

BELLAVISTA CALLAO

2016
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

INFERENCIA DIFUSA DE MAMDANI


1. EJEMPLO: SISTEMA DIFUSO POR ENFRIAMIENTO TRMICO.

1.1 Funcin trapezoidal.

function y = trap_mf (x, params)

a = params(1);
b = params(2);
c = params(3);
d = params(4);

b_minus_a = b - a;
d_minus_c = d - c;

y_val = @(x_val) max (0, min (min (1, (x_val - a) / b_minus_a), ...
(d - x_val) / d_minus_c));
y = arrayfun (y_val, x);
end

1.2 Funcin triangular.

function y = tri_mf(x,param)
a=param(1);
b=param(2);
c=param(3);
y=max(min((x-a)/(b-a),(c-x)/(c-b)),0);
end

1.3 Programa principal.

clear all, close all, clc


% TEMPERATURA---------------------------------------------------------
-----
puntos_n=500;
x1=linspace(-5,35,puntos_n); %universo
param_in1=[-5 0 10
0 10 20
10 20 30
20 30 35];
mf_in1(1,:)=trap_mf(x1,[-5 param_in1(1,:)]);
mf_in1(2,:)=tri_mf(x1,param_in1(2,:));
mf_in1(3,:)=tri_mf(x1,param_in1(3,:));
mf_in1(4,:)=trap_mf(x1,[param_in1(4,:) 35]);
subplot(411),plot(x1,mf_in1)
title('TEMPERATURA'),ylabel('\mu_{Temp}')
% VELOCIDAD DEL VIENTO------------------------------------------------
-----
x2=linspace(0,30,puntos_n); %universo
param_in2=[0 5 17.5
2.5 15 27.5
12.5 25 30];
mf_in2(1,:)=trap_mf(x2,[0 param_in2(1,:)]);
mf_in2(2,:)=tri_mf(x2,param_in2(2,:));
mf_in2(3,:)=trap_mf(x2,[param_in2(3,:) 30]);

2
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

subplot(412),plot(x2,mf_in2)
title('VELOCIDAD DEL VIENTO'),ylabel('\mu_{Viento}')
% SENSACION TERMICA---------------------------------------------------
-----
y=linspace(-40,50,puntos_n); %universo
param_out=[-40 -25 -10
-25 -10 5
-10 5 20
5 20 35
20 35 50];
mf_out(1,:)=tri_mf(y,param_out(1,:));
mf_out(2,:)=tri_mf(y,param_out(2,:));
mf_out(3,:)=tri_mf(y,param_out(3,:));
mf_out(4,:)=tri_mf(y,param_out(4,:));
mf_out(5,:)=tri_mf(y,param_out(5,:));
subplot(413),plot(y,mf_out)
title('SENSACION TERMICA'),ylabel('\mu_{SensT}')
% REGLAS [Temp Viento SenTerm]----------------------------------------
-----
% Matriz que reprenta las 12 reglas
R=[1 1 3
1 2 2
1 3 1
2 1 4
2 2 3
2 3 2
3 1 5
3 2 4
3 3 3
4 1 5
4 2 5
4 3 4];
% FUZZIFICADOR--------------------------------------------------------
-----
% valores numericos de cada conjunto difuso para T=7
% u_fria=0.3; u_fresca=0.7; u_calida=0; u_caliente=0;
u_A=[0.3 0.7 0 0];
% valores numericos de cada conjunto difuso para Nudos=22
% u_bajo=0; u_suave=0.44; u_alta=0.76;
u_B=[0 0.44 0.76];
% OPERACION DIFUSA----------------------------------------------------
-----
k=1; % indice de los grados
for i=1:4 % temperaturas
for j=1:3 % velocidad del viento
s(k)=min(u_A(i),u_B(j)); %grados para cada regla
k=k+1;
end
end
% IMPLICACION DIFUSA--------------------------------------------------
-----
y=linspace(-40,50,puntos_n); % universo
for k=1:12 % grados para el disparo de las reglas
for m=1:puntos_n % universo
% k da el numero de regla
% R(k,3) da el conjunto difuso
D(k,m)=min(s(k),mf_out(R(k,3),m)); %consecuente difuso
end
end

3
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

% AGREGACION----------------------------------------------------------
-----
for k=1:12
C_agg(k)=0; % inicia con un valor 0
for m=1:puntos_n
% implicacion del consecuente
% se obtiene hallando el area del trapecio
% en este caso se usa una suma de riemman
C_agg(k)=C_agg(k)+(90/puntos_n)*D(k,m);
end
end
% DEFUZZIFICACION-----------------------------------------------------
-----
z0=0; % salida crisp inicia en 0
% se obtiene usando el metodo del Centroide
for k=1:12
z0=z0+param_out(R(k,3),2)*C_agg(k);
end
z0=z0/sum(C_agg);
disp('La sensacin trmica correspondiente a 7C y una velocidad del
viento de 22 nudos es')
disp(z0)
subplot(414),plot(y,D), hold
subplot(414),plot([z0 z0],[0 0.7],'m')
title('RESULTADO')

1.5 Graficas obtenidas

Você também pode gostar