How to customize output membership functions for Sugeno fuzzy systems in Fuzzy Logic Designer
1 view (last 30 days)
Show older comments
Hi, I have an assignment to deaign a fuzzy controller for the lorenzo system. Thw fuzzy controller has 2 inputs 'x1' and 'x2' the first two state variables and one output u1. Lets say that my first membership function for my output is u1=x2(sigma+ro) where both 'sigma' and 'ro' are constants. When I input this value into the fuzzy logic designer it returns an error and doesn't change the membership function for the output u1. I'm using the default sugeno FIS and setting the output membership function to constant. In short, I want to use an input value to calculate the output.
0 Comments
Answers (1)
Sam Chak
on 23 Apr 2025
If the mathematical notation in the output equation "u1 = x2(sigma + ro)" indicates implied multiplication (or multiplication by juxtaposition), then it is a linear term, which can be specified in the code as follows:
sigma = 2;
ro = 3;
fis = addOutput(fis, [-1, 1], 'Name', 'U');
fis = addMF(fis, 'U', 'linear', [0, (sigma + ro), 0], 'Name', 'u1');
However, if the output equation "u1 = x2(sigma + ro)" represents a desired nonlinear function of the second input, x2, then it is not possible to create a special nonlinear function for the output, as custom output membership functions are not supported for MATLAB Sugeno systems. To create custom output membership functions for Sugeno fuzzy systems, one must manually write a piece of code that executes the Sugeno inference.
0 Comments
See Also
Categories
Find more on Fuzzy Logic Toolbox 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!