Fuzzy Logic Toolbox


Fuzzy Logic Toolbox

Design and simulate fuzzy logic systems

Get Started:

Fuzzy Inference System Modeling

Build the rules set, define the membership functions, and analyze the behavior of a fuzzy inference system (FIS).

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.

Membership functions for a type-2 fuzzy inference system.

Fuzzy Inference System Tuning

Tune membership functions and rules of fuzzy 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.

Predicting time-series data with a tuned fuzzy inference system.

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.

Training adaptive neuro-fuzzy inference systems with the Neuro-Fuzzy Designer app.

Data Clustering

Find clusters in input/output data using Fuzzy C-Means or Subtractive Clustering.

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.

Fuzzy c-means clustering.

Fuzzy Logic in Simulink

Simulate fuzzy inference systems in Simulink.

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.

Simulating a fuzzy inference system in Simulink.

Fuzzy Logic Deployment

Generate code for evaluating and implementing fuzzy systems.

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.

Sample code interface generated for loading and evaluating a FIS as a static/dynamic library.