Main Content

newfis

(To be removed) Create new fuzzy inference system

newfis will be removed in a future release. Use mamfis or sugfis instead. For more information, see Compatibility Considerations.

Description

example

fis = newfis(name) returns a default Mamdani fuzzy inference system with the specified name.

example

fis = newfis(name,Name,Value) returns a fuzzy inference system with properties specified using one or more Name,Value pair arguments.

Examples

collapse all

Create a default Mamdani fuzzy inference system with the name, 'fis'.

sys = newfis('fis')
sys = struct with fields:
            name: 'fis'
            type: 'mamdani'
       andMethod: 'min'
        orMethod: 'max'
    defuzzMethod: 'centroid'
       impMethod: 'min'
       aggMethod: 'max'
           input: []
          output: []
            rule: []

Create a default Sugeno fuzzy inference system with the name, 'fis'.

sys = newfis('fis','FISType','sugeno')
sys = struct with fields:
            name: 'fis'
            type: 'sugeno'
       andMethod: 'prod'
        orMethod: 'probor'
    defuzzMethod: 'wtaver'
       impMethod: 'prod'
       aggMethod: 'sum'
           input: []
          output: []
            rule: []

Create a Mamdani fuzzy inference system that uses 'bisector' defuzzification and 'prod' implication.

sys = newfis('fis','DefuzzificationMethod','bisector',...
                   'ImplicationMethod','prod');

Input Arguments

collapse all

Fuzzy inference system name, specified as a character vector or string.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'OrMethod','probor' configures the fuzzy OR operator as a probabilistic OR function.

Fuzzy inference system type, specified as one of the following:

  • 'mamdani' — Mamdani-type fuzzy system

  • 'sugeno' — Sugeno-type fuzzy system

For more information on the types of fuzzy inference systems, see Mamdani and Sugeno Fuzzy Inference Systems.

AND fuzzy operator method, specified as one of the following:

  • 'min' — Minimum of fuzzified input values. This method is the default when FISType is 'mamdani'.

  • 'prod' — Product of fuzzified input values. This method is the default when FISType is 'sugeno'.

  • Character vector or string — Name of a custom AND function in the current working folder or on the MATLAB® path. For more information on using custom functions, see Build Fuzzy Systems Using Custom Functions.

For more information on fuzzy operators and the fuzzy inference process, see Fuzzy Inference Process.

OR fuzzy operator method, specified as one of the following:

  • 'max' — Maximum of fuzzified input values. This method is the default when FISType is 'mamdani'.

  • 'probor' — Probabilistic OR of fuzzified input values. For more information, see probor. This method is the default when FISType is 'sugeno'.

  • Character vector or string — Name of a custom OR function in the current working folder or on the MATLAB path. For more information on using custom functions, see Build Fuzzy Systems Using Custom Functions.

For more information on fuzzy operators and the fuzzy inference process, see Fuzzy Inference Process.

Implication method for computing consequent fuzzy set, specified as one of the following:

  • 'min' — Truncate the consequent membership function at the antecedent result value. This method is the default when FISType is 'mamdani'.

  • 'prod' — Scale the consequent membership function by the antecedent result value. This method is the default when FISType is 'sugeno'.

  • Character vector or string — Name of a custom implication function in the current working folder or on the MATLAB path. For more information on using custom functions, see Build Fuzzy Systems Using Custom Functions.

Note

No matter what implication method you specify, Sugeno systems always use 'prod' aggregation.

For more information on implication and the fuzzy inference process, see Fuzzy Inference Process.

Aggregation method for combining rule consequents, specified as one of the following:

  • 'max' — Maximum of consequent fuzzy sets. This method is the default when FISType is 'mamdani'.

  • 'sum' — Sum of consequent fuzzy sets. This method is the default when FISType is 'sugeno'.

  • 'probor' — Probabilistic OR of consequent fuzzy sets. For more information, see probor.

  • Character vector or string — Name of a custom aggregation function in the current working folder or on the MATLAB path. For more information on using custom functions, see Build Fuzzy Systems Using Custom Functions.

Note

No matter what aggregation method you specify, Sugeno systems always use 'sum' aggregation.

For more information on aggregation and the fuzzy inference process, see Fuzzy Inference Process.

Defuzzification method for computing crisp output values.

If FISType is 'mamdani', specify the defuzzification method as one of the following:

  • 'centroid' — Centroid of the area under the output fuzzy set. This method is the default for Mamdani systems.

  • 'bisector' — Bisector of the area under the output fuzzy set

  • 'mom' — Mean of the values for which the output fuzzy set is maximum

  • 'lom' — Largest value for which the output fuzzy set is maximum

  • 'som' — Smallest value for which the output fuzzy set is maximum

If FISType is 'sugeno', specify the defuzzification method as one of the following:

  • 'wtaver' — Weighted average of all rule outputs. This method is the default for Sugeno systems.

  • 'wtsum' — Weighted sum of all rule outputs

You can also specify the defuzzification method using a character vector or string that contains the name of a custom function in the current working folder or on the MATLAB path. For more information on using custom functions, see Build Fuzzy Systems Using Custom Functions.

For more information on defuzzification and the fuzzy inference process, see Fuzzy Inference Process.

Output Arguments

collapse all

Fuzzy inference system with the specified name, returned as an FIS structure. The fuzzy system is configured using the specified Name,Value pair arguments.

fis has no input variables, output variables, or rules. To add variables or rules to fis, use addvar or addRule. You can also edit the fuzzy system using Fuzzy Logic Designer.

Version History

Introduced before R2006a

expand all

R2019b: Support for fuzzy inference system structures will be removed

Support for representing fuzzy inference systems as structures will be removed in a future release. Use mamfis and sugfis objects with this function instead. To convert existing fuzzy inference system structures to objects, use the convertfis function.

This change was announced in R2018b. Using fuzzy inference system structures with this function issues a warning starting in R2019b.