Fuzzy Logic Toolbox™ provides MATLAB® functions, apps, and a Simulink® block for analyzing, designing, and simulating systems based on fuzzy logic. The product guides you through the steps of designing fuzzy inference systems. Functions are provided for many common methods, including fuzzy clustering and adaptive neurofuzzy learning.
The toolbox lets you model complex system behaviors using simple logic rules, and then implement these rules in a fuzzy inference system. You can use it as a stand-alone fuzzy inference engine. Alternatively, you can use fuzzy inference blocks in Simulink and simulate the fuzzy systems within a comprehensive model of the entire dynamic system.
Get Started:
Fuzzy Logic Designer
Use the Fuzzy Logic Designer app or command-line functions to interactively design and test fuzzy inference systems. You can add or remove input and output variables. You can also specify input and output membership functions and fuzzy if-then rules. Once you have created fuzzy inference system, you can evaluate and visualize it.
Mamdani and Sugeno Fuzzy Inference Systems
Implement Mamdani and Sugeno fuzzy inference systems. You can convert Mamdani system into a Sugeno system. You can also implement complex fuzzy inference systems as a collection of smaller interconnected fuzzy systems using fuzzy trees.
Type-2 Fuzzy Inference Systems
Create and evaluate interval type-2 fuzzy inference systems with additional membership function uncertainty. You can create both type-2 Mamdani and Sugeno fuzzy inference systems.
Tuning Fuzzy Systems
Tune fuzzy membership function parameters and learn new fuzzy rules using Global Optimization Toolbox tuning methods such as Genetic Algorithms and Particle Swarm Optimization. You can tune parameters and rules of a single fuzzy inference system or of a fuzzy tree which contains multiples FISs connected hierarchically with small number of inputs.
Training Adaptive Neuro-Fuzzy Inference Systems
Train Sugeno fuzzy inference systems using neuro-adaptive learning techniques similar to those used for training neural networks. You can use command-line functions or the Neuro-Fuzzy Designer app to shape membership functions by training them with input/output data rather than specifying them manually.
Use interactive Clustering tool or command-line functions to identify natural groupings from a large data set to produce a concise representation of the data. You can use either Fuzzy C-Means or Subtractive Clustering to Identify clusters within input/output training data. Use the resulting cluster information to generate a Sugeno-type fuzzy inference system to model the data behavior.
Evaluate and test performance of your type-1 fuzzy inference system in Simulink using Fuzzy Logic Controller block. You can simulate your fuzzy inference system using input signals with double, single, and fixed-point signal data types.
Deploy a fuzzy inference system by generating C code in either Simulink or MATLAB. You can also generate Structured Text for a fuzzy inference system implemented in Simulink using a Fuzzy Logic Controller block. You can generate single-precision C code to reduce the memory footprint of your system. You can generate fixed-point code if your target platform only supports fixed-point arithmetic.