-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcreateGeneralizedBellshapeMembershipfunction.m
63 lines (61 loc) · 2.05 KB
/
createGeneralizedBellshapeMembershipfunction.m
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
function mf = createGeneralizedBellshapeMembershipfunction(nMembership)
%% Create membership functions using a combination of two Gaussian membership functions
mf = [];
type = "gbellmf";
if nMembership == 2
params = [0.5 2.5 0;
0.5 2.5 1];
elseif nMembership == 3
params = [0.25 2.5 0;
0.25 2.5 0.5;
0.25 2.5 1];
elseif nMembership == 4
params = [0.1667 2.5 0;
0.1667 2.5 0.3333;
0.1667 2.5 0.6667;
0.1667 2.5 1];
elseif nMembership == 5
params = [0.125 2.5 0;
0.125 2.5 0.25;
0.125 2.5 0.5;
0.125 2.5 0.75;
0.125 2.5 1];
elseif nMembership == 6
params = [0.1 2.5 0;
0.1 2.5 0.2;
0.1 2.5 0.4;
0.1 2.5 0.6;
0.1 2.5 0.8;
0.1 2.5 1];
elseif nMembership == 7
params = [0.08333 2.5 0;
0.08333 2.5 0.1667;
0.08333 2.5 0.3333;
0.08333 2.5 0.5;
0.08333 2.5 0.6667;
0.08333 2.5 0.8333;
0.08333 2.5 1];
elseif nMembership == 8
params = [0.07143 2.5 0;
0.07143 2.5 0.1429;
0.07143 2.5 0.2857;
0.07143 2.5 0.4286;
0.07143 2.5 0.5714;
0.07143 2.5 0.7143;
0.07143 2.5 0.8571;
0.07143 2.5 1];
elseif nMembership == 9
params = [0.0625 2.5 0;
0.0625 2.5 0.125;
0.0625 2.5 0.25;
0.0625 2.5 0.375;
0.0625 2.5 0.5;
0.0625 2.5 0.625;
0.0625 2.5 0.75;
0.0625 2.5 0.875;
0.0625 2.5 1];
end
for i = 1:nMembership
mf = [mf ; fismf(type, params(i,:))];
end
end