single-valued constant membership function

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 Kommentare

Maria
Maria am 13 Dez. 2014
any answer ???
Guillaume
Guillaume am 13 Dez. 2014
Bearbeitet: Guillaume am 13 Dez. 2014
Is this associated with a particular toolbox?
Because I have no idea what a 'membership function' is.
You'll probably get more answers if you also give an example of inputs and expected output.
Maria
Maria am 13 Dez. 2014
the fuzzy controller that I tried to design is with two inputs (error and change of error ) and one output , the membership function of inputs are same and shown in figure below the output must be single-valued constant with values NB=-0.76 , NM=-0.5 , NS=-0.232 , Z=0 , PS=0.22 , PM=0.87 , PB= 0.9
the problem is how to implement the membership function of output as single-valued .
inputs membership functions
thanks a lot
Image Analyst
Image Analyst am 14 Dez. 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
Maria am 14 Dez. 2014
thanks a lot
but I thinks this matter is related to Matlab more then Fuzzy which is how to make the output of MF as single-valued constant , I think it is related to Matlab toolbox .
Guillaume
Guillaume am 14 Dez. 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
Siddhant Gudhe am 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
Truong Nhu am 31 Dez. 2019
Thank you so much Siddhant Gudhe, you're right !

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Image Analyst
Image Analyst am 14 Dez. 2014

0 Stimmen

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
Liyana am 27 Mär. 2017

0 Stimmen

you could choose linear or constant type of mf
kohila ramkumar
kohila ramkumar am 5 Jun. 2018

0 Stimmen

IF YOU ARE CREATE SUGENO FUZZY SYSTEM. IT IS HAVING CONSTANT MEMBERSHIP FUNCTION

Kategorien

Mehr zu Fuzzy Logic in Simulink finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 13 Dez. 2014

Kommentiert:

am 31 Dez. 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by