## Copyright (C) 2011-2025 L. Markowsky <lmarkowsky@gmail.com>
##
## This file is part of the fuzzy-logic-toolkit.
##
## The fuzzy-logic-toolkit is free software; you can redistribute it
## and/or modify it under the terms of the GNU General Public License
## as published by the Free Software Foundation; either version 3 of
## the License, or (at your option) any later version.
##
## The fuzzy-logic-toolkit is distributed in the hope that it will be
## useful, but WITHOUT ANY WARRANTY; without even the implied warranty
## of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with the fuzzy-logic-toolkit; see the file COPYING.  If not,
## see <http://www.gnu.org/licenses/>.

## Author:        L. Markowsky
## Keywords:      fuzzy-logic-toolkit fis
## Directory:     fuzzy-logic-toolkit/inst/
## Filename:      cubic_approximator.fis
## Last-Modified: 28 Aug 2012

[System]
Name='Cubic-Approximator'
Type='sugeno'
Version=2.0
NumInputs=1
NumOutputs=1
NumRules=11
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='wtaver'

[Input1]
Name='X'
Range=[-5 5]
NumMFs=11
MF1 = 'About-Neg-Five':'trimf', [-6 -5 -4]
MF2 = 'About-Neg-Four':'trimf', [-5 -4 -3]
MF3 = 'About-Neg-Three':'trimf', [-4 -3 -2]
MF4 = 'About-Neg-Two':'trimf', [-3 -2 -1]
MF5 = 'About-Neg-One':'trimf', [-2 -1 0]
MF6 = 'About-Zero':'trimf', [-1 0 1]
MF7 = 'About-One':'trimf', [0 1 2]
MF8 = 'About-Two':'trimf', [1 2 3]
MF9 = 'About-Three':'trimf', [2 3 4]
MF10 = 'About-Four':'trimf', [3 4 5]
MF11 = 'About-Five':'trimf', [4 5 6]

[Output1]
Name='Approx-X-Cubed'
Range=[-5 5]
NumMFs=11
MF1 = 'Tangent-at-Neg-Five':'linear', [75 250]
MF2 = 'Tangent-at-Neg-Four':'linear', [48 128]
MF3 = 'Tangent-at-Neg-Three':'linear', [27 54]
MF4 = 'Tangent-at-Neg-Two':'linear', [12 16]
MF5 = 'Tangent-at-Neg-One':'linear', [3 2]
MF6 = 'Tangent-at-Zero':'linear', [0 0]
MF7 = 'Tangent-at-One':'linear', [3 -2]
MF8 = 'Tangent-at-Two':'linear', [12 -16]
MF9 = 'Tangent-at-Three':'linear', [27 -54]
MF10 = 'Tangent-at-Four':'linear', [48 -128]
MF11 = 'Tangent-at-Five':'linear', [75 -250]

[Rules]
1, 1 (1) : 1
2, 2 (1) : 1
3, 3 (1) : 1
4, 4 (1) : 1
5, 5 (1) : 1
6, 6 (1) : 1
7, 7 (1) : 1
8, 8 (1) : 1
9, 9 (1) : 1
10, 10 (1) : 1
11, 11 (1) : 1
