How would I plot the membership Trapezoid function for the Last Hop based on the follwoing table please

 채택된 답변

Ameri
Ameri 2023년 1월 12일

0 개 추천

Thank you for your response, have you checked the table please.

댓글 수: 2

Ameri
Ameri 2023년 1월 13일
Thank you so much dear Sam.
Sam Chak
Sam Chak 2023년 1월 13일
You are welcome, @Ameri. If the MATLAB code and explanation are helpful, would you accepting ✔ and voting 👍 my Answer? 😅

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Sam Chak
Sam Chak 2023년 1월 5일

1 개 추천

The range for Last Hop is not given. So, you might try something like this:
fis = mamfis;
% Option #1: using rectified linear MFs
fis = addInput(fis, [-1 +1], 'Name', 'LH1');
fis = addMF(fis, 'LH1', 'linzmf', [-0.25 0.25], 'Name', 'Bad');
fis = addMF(fis, 'LH1', 'linsmf', [-0.25 0.25], 'Name', 'Good');
% Option #2: using trapezoidal MFs
fis = addInput(fis, [-1 +1], 'Name', 'LH2');
fis = addMF(fis, 'LH2', 'trapmf', [-2 -1 -0.25 0.25], 'Name', 'Bad');
fis = addMF(fis, 'LH2', 'trapmf', [-0.25 0.25 +1 +2], 'Name', 'Good');
% Plots
figure(1)
subplot(2,1,1)
plotmf(fis, 'input', 1), grid on, title('Last Hop using rectified linear MFs')
subplot(2,1,2)
plotmf(fis, 'input', 2), grid on, title('Last Hop using trapezoidal MFs')

댓글 수: 2

Hi @Ameri,
Thanks for you reply. If the MATLAB code is helpful in plotting the membership functions (MFs), please consider accepting ✔ and voting 👍 the Answer. Thanks a bunch! 🙏
By the way, I have checked the table and it looks like the Fuzzy Rules because of the word "Decision".
Also, I used two MFs because there are "Yes" and "No", assuming that "Bo" was a typo. I should have used "Yes" and "No", instead of "Good" and "Bad".
Two types of MFs are demonstrated: one is a rectified linear function, and the other is a trapezoidal function which you described in your problem. Both give the same shapes within the defined range in the Universe of Discourse , though I preferred the first approach.
I made up this range . You should define it according to what you know about the Last Hop data. If it is some kind of questionaire with the scale , then 1 and 2 are No, 3 is Indecisive (half no/half yes), 4 and 5 are Yes.
fis = mamfis;
fis = addInput(fis, [1 5], 'Name', 'LH');
fis = addMF(fis, 'LH', 'linzmf', [2 4], 'Name', 'No'); % Z-shaped, [Hi_value, Lo_value]
fis = addMF(fis, 'LH', 'linsmf', [2 4], 'Name', 'Yes'); % S-shaped, [Lo_value, Hi_value]
plotmf(fis, 'input', 1), grid on, title('Last Hop')
Ameri
Ameri 2023년 1월 14일
Thank you.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Fuzzy Logic Toolbox에 대해 자세히 알아보기

질문:

2023년 1월 2일

댓글:

2023년 1월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by