%% Obtain Tunable Settings of Input and Output Variables from FIS
% Create two fuzzy inference systems, and define the connection between the two.

fis1 = mamfis('Name','fis1','NumInputs',2,'NumOutputs',1);
fis2 = sugfis('Name','fis2','NumInputs',2,'NumOutputs',1);
con = ["fis1/output1" "fis2/input1"];

% Create a tree of fuzzy inference systems.

tree = fistree([fis1 fis2],con);

% Obtain the tunable settings of input and output variables of the fuzzy inference system.

[in,out] = getTunableSettings(tree)

% You can use dot notation to specify the tunable settings of input and output variables.
% For the first membership function of input 1, set the first and third parameters to tunable.

in(1).MembershipFunctions(1).Parameters.Free = [1 0 1];

% For the first membership function of input 2, set the minimum parameter range to 0.

in(2).MembershipFunctions(1).Parameters.Minimum = 0;

% For the first membership function of output 2, set the maximum parameter range to 1.

out(2).MembershipFunctions(1).Parameters.Maximum = 1;

% Copyright 2018 The MathWorks, Inc.