nrc.fuzzy
Class PIFuzzySet
java.lang.Object
|
+--nrc.fuzzy.FuzzySet
|
+--nrc.fuzzy.LRFuzzySet
|
+--nrc.fuzzy.PIFuzzySet
- All Implemented Interfaces:
- java.lang.Cloneable, java.io.Serializable
- public class PIFuzzySet
- extends LRFuzzySet
- implements java.io.Serializable
Used to build specialized FuzzySets that in have a 'bell' shape with a
0 at the left and right edges of the curve and a 1 at the middle.
The diagram below shows an PIFuzzySet.
Note that the Constructors have been defined to make the generation of
such curves as simple as possible. Only the middle point and the width of the
curve need be specified (with an optional constructor that allows the number of
points on the curve approximation to be specified if necessary -- the default
PIFuzzySet is created with an SFunctions and ZFunction with 5 points each
so that the default PI curve will be approximated by 9 points).
Note that this is a specialization of the LRFuzzySet with specific
functions used to determine the shape of the left (SFunction) and
right (ZFunction) sides. Also the left and right shapes join at the same
point giving the required 'bell' shape.
- See Also:
FuzzySet
,
LFuzzySet
,
SFunction
,
Serialized Form
Fields inherited from class nrc.fuzzy.FuzzySet |
BFALSE, BTRUE, COLLINEAR_OR_PARALLEL, INCREMENT, INTERSECTION, MAX_INITIAL_POINTS, MAXMIN, NO_INTERSECTION, numPoints, set, simplified, SUM, tool, toStringPrecision, UNION |
Constructor Summary |
PIFuzzySet(double center,
double curveWidth)
Generate a FuzzySet with a 'bell' shape. |
PIFuzzySet(double center,
double curveWidth,
int numPoints)
Generate a FuzzySet with a 'bell' shape. |
Methods inherited from class nrc.fuzzy.FuzzySet |
appendSetPoint, appendSetPoint, centerOfAreaDefuzzify, checkXValueOrder, checkYValueRange, concat, concat, confineToXBounds, copyFuzzySet, equals, findMaxYOverlapValue, fuzzyComplement, fuzzyEqual, fuzzyIntersection, fuzzyIntersection, fuzzyIntersectionUnion, fuzzyNormalize, fuzzyScale, fuzzySum, fuzzySum, fuzzyUnion, fuzzyUnion, getAlphaCut, getArea, getArea, getMaxY, getMembership, getMinY, getPoint, getSupport, getUITools, getX, getXforMembership, getY, goingDown, goingUp, horizontalIntersection, horizontalIntersectionUnion, horizontalUnion, incrementArrayLength, incrementArrayLength, insertSetPoint, insertSetPoint, isConvex, isEmpty, isNormal, isSimplified, maximumDefuzzify, maximumOfIntersection, maximumOfIntersection, momentDefuzzify, noIntersectionTest, nonIntersectionTest, plotFuzzySet, plotFuzzySets, removeSetPoint, removeSetPoint, sameDirection, sameSign, setToStringPrecision, shiftArrayLeft, shiftArrayRight, simplifySet, size, testArrayLength, toString, trimToSize, weightedAverageDefuzzify |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
PIFuzzySet
public PIFuzzySet(double center,
double curveWidth)
throws XValuesOutOfOrderException
- Generate a FuzzySet with a 'bell' shape.
- Parameters:
center
- the center of the curve with a membership value of 1curveWidth
- the width of each side of the curve
- Throws:
XValuesOutOfOrderException
- if the parameters determine
an illegal arrangement (such as a negative width)
PIFuzzySet
public PIFuzzySet(double center,
double curveWidth,
int numPoints)
throws XValuesOutOfOrderException
- Generate a FuzzySet with a 'bell' shape.
- Parameters:
center
- the center of the curve with a membership value of 1curveWidth
- the width of each side of the curvenumPoints
- the number of points to use to approximate each side of the shape
- Throws:
XValuesOutOfOrderException
- if the parameters determine
an illegal arrangement (such as a negative width)