Membership function composed by several connected linear functions.

**Namespace:**
AForge.Fuzzy

**Assembly:**
AForge.Fuzzy (in AForge.Fuzzy.dll) Version: 2.2.4.0 (2.2.4.0)

# Syntax

C# |
---|

public class PiecewiseLinearFunction : IMembershipFunction |

# Remarks

The piecewise linear is a generic function used by many specific fuzzy membership functions, like the trappezoidal function. This class must be instantiated with a sequence of points representing the edges of each one of the lines composing the piecewise function.

**Note:**The x-axis points must be ordered (crescent), so the GetMembership(Single) function will use each X value as an ending point for one line and starting point of the next.

While trapezoidal and half trapezoidal are classic functions used in fuzzy functions, this class supports any function or approximation that can be represented as a sequence of lines.

Sample usage:

CopyC#

// creating an array of points representing a typical trapezoidal function /-\ Point [] points = new Point[4]; // point where membership starts to rise points[0] = new Point( 10, 0 ); // maximum membership (1) reached at the second point points[1] = new Point( 20, 1 ); // membership starts to fall at the third point points[2] = new Point( 30, 1 ); // membership gets to zero at the last point points[3] = new Point( 40, 0 ); // creating the instance PiecewiseLinearFunction membershipFunction = new PiecewiseLinearFunction( points ); // getting membership for several points for ( int i = 5; i < 45; i++ ) Console.WriteLine( membershipFunction.GetMembership( i ) );