nrc.fuzzy
Class TrapezoidFuzzySet

java.lang.Object
  |
  +--nrc.fuzzy.FuzzySet
        |
        +--nrc.fuzzy.LRFuzzySet
              |
              +--nrc.fuzzy.TrapezoidFuzzySet
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable
Direct Known Subclasses:
RectangleFuzzySet, TriangleFuzzySet

public class TrapezoidFuzzySet
extends LRFuzzySet
implements java.io.Serializable

Used to build specialized FuzzySets that have a trapezoid shape. The diagram below shows a TrapezoidFuzzySet.



Note that the Constructors have been defined to make the generation of such curves as simple as possible. Only 4 points are required to define the trapezoid shape.

This is a specialization of the LRFuzzySet where the left and right shapes of the curve are linear.

See Also:
FuzzySet, LRFuzzySet, TriangleFuzzySet, LeftLinearFunction, RightLinearFunction, Serialized Form

Nested Class Summary
 
Nested classes inherited from class nrc.fuzzy.FuzzySet
FuzzySet.UITools
 
Field Summary
 
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
TrapezoidFuzzySet(double zeroLeftX, double oneLeftX, double oneRightX, double zeroRightX)
          Generate a FuzzySet with an trapeziod shape.
 
Methods inherited from class nrc.fuzzy.LRFuzzySet
checkParameters
 
Methods inherited from class nrc.fuzzy.FuzzySet
appendSetPoint, appendSetPoint, checkXValueOrder, checkYValueRange, concat, concat, confineToXBounds, copyFuzzySet, equals, findMaxYOverlapValue, fuzzyComplement, fuzzyEqual, fuzzyIntersection, fuzzyIntersection, fuzzyIntersectionUnion, fuzzyNormalize, fuzzyScale, fuzzySum, fuzzySum, fuzzyUnion, fuzzyUnion, getAlphaCut, 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
 

Constructor Detail

TrapezoidFuzzySet

public TrapezoidFuzzySet(double zeroLeftX,
                         double oneLeftX,
                         double oneRightX,
                         double zeroRightX)
                  throws XValuesOutOfOrderException
Generate a FuzzySet with an trapeziod shape.

Parameters:
zeroLeftX - the start of the curve at the left with a membership value of 0
oneLeftX - the end of the left upwards sloping line with a membership value of 1
oneRightX - the start of the right downwards sloping line with a membership value of 1
zeroRightX - the end of the right downwards sloping line with a membership value of 0
Throws:
XValuesOutOfOrderException - if the x values are not in correct increasing order