nrc.fuzzy
Class LeftGaussianFuzzySet

java.lang.Object
  |
  +--nrc.fuzzy.FuzzySet
        |
        +--nrc.fuzzy.LFuzzySet
              |
              +--nrc.fuzzy.LeftGaussianFuzzySet
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class LeftGaussianFuzzySet
extends LFuzzySet
implements java.io.Serializable

Used to build specialized FuzzySets that in have a shape similar to the left half of a gaussian curve with a 0 at the lower left edge and 1 at the upper right edge. The diagram below shows an LeftGaussianFuzzySet.


The curves are defined by the following equation:



where a is the mean and sigma is the standard deviation.

Note that the Constructors have been defined to make the generation of such curves as simple as possible. Only the centre and the standard deviation of the gaussian curve need be specified (with an optional constructor that allows the number of points on the curve approximation to be specified if necessary). Points from 4 standard deviations left of the centre will be 0. Points to the right of the Centre point will be 1.

See Also:
FuzzySet, LFuzzySet, LeftGaussianFunction, 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
LeftGaussianFuzzySet(double centre, double standardDeviation)
          Generate a FuzzySet with left half of a gaussian shape.
LeftGaussianFuzzySet(double centre, double standardDeviation, int numPoints)
          Generate a FuzzySet with left half of a gaussian shape.
 
Methods inherited from class nrc.fuzzy.LFuzzySet
checkParameters
 
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
 

Constructor Detail

LeftGaussianFuzzySet

public LeftGaussianFuzzySet(double centre,
                            double standardDeviation)
                     throws XValuesOutOfOrderException
Generate a FuzzySet with left half of a gaussian shape.

Parameters:
centre - the upper right of the curve with a membership value of 1
standardDeviation - the standard deviation for the gaussian curve (points 4 standard deviations to the left of the centre point will all be 0).
Throws:
XValuesOutOfOrderException - if the leftEdge argument is greater than the rightEdge argument

LeftGaussianFuzzySet

public LeftGaussianFuzzySet(double centre,
                            double standardDeviation,
                            int numPoints)
                     throws XValuesOutOfOrderException
Generate a FuzzySet with left half of a gaussian shape.

Parameters:
centre - the upper right of the curve with a membership value of 1
standardDeviation - the standard deviation for the gaussian curve (points 4 standard deviations to the left of the centre point will all be 0).
numPoints - the number of points to use to approximate the gaussian shape
Throws:
XValuesOutOfOrderException - if the leftEdge argument is less than the rightEdge argument