Matlab - Porque me sale cero en la evaluacion de un difuso

 
Vista:

Porque me sale cero en la evaluacion de un difuso

Publicado por Ana (1 intervención) el 17/08/2016 21:28:49
Hola estoy leyendo un .fis y haciendo una modificacion a los parametros de las funciones de membresia, pero cuando evaluo el fis el resultado es 0. Me prodrian ayudar por favor. De antemano gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
%Leer fis original
a = readfis('BASE');
 
% Devuelve 40 valores de -1,1 en forma de colunma
r = -1+(1+1)*rand(40,1);
%Ordena los valore de forma ascendente que ayuda al traslape de la funcion
r1=sort(r);
 
% Valores para cambiar los parametros de las funciones de membresia
 
a.input(1).mf(1).params = [r1(1) r1(2) r1(3) r1(4)];
a.input(1).mf(2).params = [r1(5) r1(6) r1(7)];
a.input(1).mf(3).params = [r1(8) r1(9) r1(10) r1(11)];
a.input(2).mf(1).params = [r1(12) r1(13) r1(14) r1(15)];
a.input(2).mf(2).params = [r1(16) r1(17) r1(18)];
a.input(2).mf(3).params = [r1(19) r1(20) r1(21) r1(22)];
a.output(1).mf(1).params = [r1(23) r1(24) r1(25)];
a.output(1).mf(2).params = [r1(26) r1(27) r1(28)];
a.output(1).mf(3).params = [r1(29) r1(30) r1(31)];
a.output(2).mf(1).params = [r1(32) r1(33) r1(34)];
a.output(2).mf(2).params = [r1(35) r1(36) r1(37)];
a.output(2).mf(3).params = [r1(38) r1(39) r1(40)];
 
 
:
ruleList=[1 1 1 1;
          1 2 1 1;
          1 3 1 1;
          2 1 1 1;
          2 2 1 1;
          2 3 1 1;
          3 1 1 1;
          3 2 1 1;
          3 3 1 1];
 
 
 
 
%para evaluar el fis
evalfis([-0.843  -0.145],a)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder