Go to the previous, next section.
SYNOPSIS
#include <FuzzyLib/FVar.h>
TYPE
Fl_FVAR
BASE CLASSES
FlNamed
DERIVED CLASSES
None
RELATED CLASSES
None
DESCRIPTION
This class creates a fuzzy variable and its corrosponding linguistic
variable. For example, the linguistic variable "temperature" migth be
programmed this way:
FlFVar temp("Temperature", 0, 100);
enum { COLD, MEDIUM, WARM, HOT };
temp.add_value_set(COLD, new FlFSetTrapez("cold", 0, 10, 0, 10));
temp.add_value_set(MEDIUM, new FlFSetTrapez("medium", 20, 20, 10, 10));
temp.add_value_set(WARM, new FlFSetTrapez("warm", 30, 40, 10, 5));
temp.add_value_set(HOT, new FlFSetTrapez("hot", 40,100, 10, 0));
Here trapezium functions have been assumed as membership function, but
all other kinds of (implemented) functions are possible.
Constructors:
FlFVar(FlParam *param);
FlFVar(double min = 0, double max = 1);
FlFVar(const FlString &xname, double min = 0, double max = 1);
- Initializes the
FlFVar.
In addition to the member functions required by FuzzyLib, FlFVar
provides:
double value( double x );
double set_value( double x );
- Sets the (non fuzzy) variable value to
x and returns the old value.
double value() const
double get_value()const;
- Returns the (non-fuzzy) value.
FlFSet* fuzzy_value( FlFSet* x );
FlFSet* set_fuzzy_value( FlFSet* x );
- Sets the fuzzy variable value (fuzzy set) to
x and returns the
old value.
FlFSet* fuzzy_value() const;
FlFSet* get_fuzzy_value() const;
- Returns the fuzzy value (fuzzy set).
double xmin() const;
double get_xmin() const;
double xmax() const;
double get_xmax() const;
- Returns the minimum and maximum values of the variable's range.
void add_value_set(FlFSet &fset);
void add_value_set(FlFSet *fset);
void add_value_set(int i, FlFSet &fset);
void add_value_set(int i, FlFSet *fset);
- Adds the fuzzy set
fset to the array of affiliated sets, either
at position i (overwritting) or at the end (extending).
FlFSet *get_value_set(int i);
- Returns the fuzzy set at array position
i.
double get_membership( int i);
- Gets the membership value of the fuzzy set at array position
i.
void print_membership();
- Computes the membership value for all fuzzy sets using the current value
and prints the result.
Go to the previous, next section.