Fuzzy System Designer

Select Tools»Control and Simulation»Fuzzy System Designer to display this dialog box.

Use this dialog box to design and test fuzzy systems. You also can use the Fuzzy Logic Vis to design, control, and modify fuzzy systems programmatically.

This dialog box includes the following pages:

Option Description
Variables Configures the linguistic variables of the fuzzy system.

This page includes the following components:

  • Input variables

    input variables specifies the input linguistic variables for the fuzzy system.

    • Add Input Variable

      Launches the Edit Variable dialog box with which you can create a new input variable.

    • Edit Input Variable

      Launches the Edit Variable dialog box with which you can edit the selected input variable.

    • Delete Input Variable

      Deletes the selected input variable.

  • Input variable membership functions

    Plots the membership functions for the input variable you select in the Input variables list.

  • Output variables

    output variables specifies the output linguistic variables for the fuzzy system.

    • Add Output Variable

      Launches the Edit Variable dialog box with which you can create a new output variable.

    • Edit Output Variable

      Launches the Edit Variable dialog box with which you can edit the selected output variable.

    • Delete Output Variable

      Deletes the selected output variable.

  • Output variable membership functions

    Plots the membership functions for the output variable you select in the Output variables list.

Rules Configures the rules for the fuzzy system.

This page includes the following components:

  • Rules

    rules specifies the rules for the fuzzy system. Use the input variables and output variables to form the antecedents and consequents, respectively, of the rules.

  • Add Rule

    Creates a new rule for the fuzzy system.

  • Delete Rule

    Deletes the selected rule.

  • Move Rule Up

    Moves the selected rule up one position in the Rules list.

  • Move Rule Down

    Moves the selected rule down one position in the Rules list.

  • Defuzzification method

    defuzzification method specifies the defuzzification method this VI uses to convert the degrees of membership of output linguistic variables into numerical values.

  • Antecedents

    antecedents specifies the antecedents, or IF portions, of the rule. Each antecedent consists of three parts: the index of an input linguistic variable, an operator that specifies whether to calculate the degree of membership or the degree of non-membership of the input linguistic variable within a linguistic term, and the index of the linguistic term. The indexes correspond to the order in which the variables or linguistic terms were created.

    • Add Antecedent

      Creates a new antecedent for the rule you select in the Rules list.

    • Delete Antecedent

      Deletes the last antecedent for the rule you select in the Rules list.

  • Consequents

    consequents specifies the consequents, or THEN portions, of the rule. Each consequent consists of three parts: the index of an output linguistic variable, an operator that specifies whether to calculate the degree of membership or the degree of non-membership of the output linguistic variable within a linguistic term, and the index of the linguistic term. The indexes correspond to the order in which the variables or linguistic terms were created.

    • Add Consequent

      Creates a new consequent for the rule you select in the Rules list.

    • Delete Consequent

      Deletes the last consequent for the rule you select in the Rules list.

  • Antecedent connective

    antecedent connective specifies how this VI calculates the truth value of the aggregated rule antecedent.

    You can use the following antecedent connectives:
    • AND (Minimum)—Specifies that the fuzzy logic controller uses the smallest degree of membership of the antecedents.
    • AND (Product)—Specifies that the fuzzy logic controller uses the product of the degrees of membership of the antecedents.
    • OR (Maximum)—Specifies that the fuzzy logic controller uses the largest degree of membership of the antecedents.
    • OR (Probabilistic)—Specifies that the fuzzy logic controller uses the probabilistic sum of the degrees of membership of the antecedents. The fuzzy logic controller uses the following equation to calculate the probabilistic sum: (A + B) – (A * B), where A and B are the antecedents.
  • Degree of support

    degree of support specifies the weight, between 0 and 1, that you want to apply to the rule. The default is 1. Multiply the degree of support by the truth value of the aggregated rule antecedent to calculate the rule weight.

  • Consequent implication

    consequent implication specifies the implication method this VI uses to scale the membership functions of the output linguistic variable based on the rule weight.

Test System Tests the fuzzy system according to input values you specify.

This page includes the following components:

  • Input variable(s)

    Lists all input variables in the fuzzy system.

  • Input value(s)

    Specifies the value(s) of the corresponding input variable(s).

  • Output variable(s)

    Lists all output variables in the fuzzy system.

  • Output value(s)

    Returns the value(s) of the corresponding output variable(s).

  • Input/Output relationship

    Displays a 3D surface graph that plots the Output variable against Input variable 1 and Input variable 2. This graph also indicates the location of the current input and output values.

  • Plot Variables—Specifies the variables you want to display in the Input/Output relationship graph. Use this section of the Test System page to sweep the range of values for two input variables and observe the corresponding change in the value of the Output variable.
    • Input variable 1

      Specifies the first input variable you want to display in the Input/Output relationship graph. This variable appears as the x-axis of the Input/Output relationship graph.

    • Input value 1

      Specifies the value of the first input variable you want to display in the Input/Output relationship graph.

    • Input variable 2

      Specifies the second input variable you want to display in the Input/Output relationship graph. This variable appears as the y-axis of the Input/Output relationship graph.

    • Input value 2

      Specifies the value of the second input variable you want to display in the Input/Output relationship graph.

    • Output variable

      Specifies the output variable you want to display in the Input/Output relationship graph. This variable appears as the z-axis of the Input/Output relationship graph.

    • Output value

      Returns the value of the Output variable.

  • Number of input 1 samples

    Specifies the number of samples of Input variable 1 you want to plot on the Input/Output relationship graph.

  • Number of input 2 samples

    Specifies the number of samples of Input variable 2 you want to plot on the Input/Output relationship graph.

  • Invoked Rules

    Displays the rules that apply to the current input and output variable values as well as the corresponding rule weights.