single-valued constant membership function
Show older comments
hi
how to define the output fuzzy set as fuzzy singletons - which mean's that the output membership function is single-valued constant as in picture below .
So in Matlab for example I want to set "PS" MF to 4 , Which type of MF should I choose and which value or Params[ ] should I set to it?

8 Comments
Maria
on 13 Dec 2014
Maria
on 13 Dec 2014
Image Analyst
on 14 Dec 2014
It probably has to do with the fuzzy toolbox, which I've added to the Product List, just in case. I don't think there are a lot (or any) fuzzy experts who participate in this forum, at least not that I can remember.
Maria
on 14 Dec 2014
Guillaume
on 14 Dec 2014
Maria, for us, non-fuzzy logic people, you'll have to express your problem in a non-fuzzy logic way. As I said, I've no idea what a 'membership function' is and I've also no idea what your graph represent.
The best thing is to give us an example of inputs as matrices or vectors or anything that we can just copy and paste into matlab and the expected result (again as something that we can generate in matlab).
Siddhant Gudhe
on 17 Aug 2015
Maria, use triangular membership function only( trimf), but instead of defining its params as [-20 0 20], make it as [20 20 20]. You will get an singleton membership function at 20.
Truong Nhu
on 31 Dec 2019
Thank you so much Siddhant Gudhe, you're right !
Answers (3)
Image Analyst
on 14 Dec 2014
Perhaps this:
function test2
clc;
for k = 1 : 20
x = randi(20, 1, 1); % Get random input value.
mf = SetMembership(x); % Find out which it's closest to.
fprintf('%d is closest to %d\n', x, mf);
end
function mf = SetMembership(x)
% Define values for NB through PB.
dividers = -12 : 4 : 12; % -12, -8, -4, 0, 4, 8, 12
% Find out which one x is closest to
distances = abs(dividers - x);
% Find the min distance and what index it occurs at
[minDistance, indexOfMin] = min(distances);
% return the value of the dividers at that index
mf = dividers(indexOfMin);
Output:
16 is closest to 12
14 is closest to 12
8 is closest to 8
20 is closest to 12
15 is closest to 12
13 is closest to 12
19 is closest to 12
13 is closest to 12
16 is closest to 12
18 is closest to 12
16 is closest to 12
5 is closest to 4
13 is closest to 12
14 is closest to 12
16 is closest to 12
12 is closest to 12
15 is closest to 12
8 is closest to 8
14 is closest to 12
7 is closest to 8
Liyana
on 27 Mar 2017
0 votes
you could choose linear or constant type of mf
kohila ramkumar
on 5 Jun 2018
0 votes
IF YOU ARE CREATE SUGENO FUZZY SYSTEM. IT IS HAVING CONSTANT MEMBERSHIP FUNCTION
Categories
Find more on Fuzzy Logic in Simulink in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!