(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.
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');
name
— Fuzzy inference system nameFuzzy inference system name, specified as a character vector or string.
Specify optional
comma-separated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
'OrMethod'
,'probor'
configures the
fuzzy OR operator as a probabilistic OR function.'FISType'
— Fuzzy inference system type'mamdani'
(default) | 'sugeno'
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.
'AndMethod'
— AND fuzzy operator method'min'
| 'prod'
| character vector | stringAND 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.
'OrMethod'
— OR fuzzy operator method'max'
| 'probor'
| character vector | stringOR 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.
'ImplicationMethod'
— Implication method'min'
| 'prod'
| character vector | stringImplication 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.
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.
'AggregationMethod'
— Aggregation method'max'
| 'sum'
| character vector | stringAggregation 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.
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.
'DefuzzificationMethod'
— Defuzzification method'centroid'
| 'bisector'
| 'mom'
| 'lom'
| 'som'
| 'wtaver'
| 'wtsum'
| character vector | stringDefuzzification 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.
fis
— Fuzzy inference systemFuzzy 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.
newfis
will be removedNot recommended starting in R2018b
newfis
will be removed in a future release. Use
mamfis
or sugfis
instead. There are
differences between these functions that require updates to your code.
To create a Mamdani or Sugeno FIS, use mamfis
or
sugfis
,
respectively.
This table shows some typical usages of newfis
for
creating fuzzy systems and how to update your code to use
mamfis
or sugfis
instead.
If your code has this form: | Use this code instead: |
---|---|
fis = newfis(name) |
fis = mamfis('Name',name) |
fis = newfis(name,'FISType','mamdani') |
fis = mamfis('Name',name) |
fis = newfis(name,'FISType','sugeno') |
fis = sugfis('Name',name) |
fis = newfis(name,... 'FISType','mamdani',... 'AndMethod','prod') |
fis = mamfis('Name',name,... 'AndMethod','prod') |
fis = newfis(name,... 'FISType','sugeno',... 'OrMethod','probor') |
fis = sugfis('Name',name,... 'OrMethod','probor') |