Beruflich Dokumente
Kultur Dokumente
A
(x) =
_
1 if x A
0 if x A
(2)
The set A is mathematically equivalent to its membership function
A
(x) in the sense that knowing
A
(x) is the same as knowing set A. The membership function
A
(x) can only take two values zero and
one. That is to say, the set A must have a well-dened property. If a set does not have clear boundaries,
it cannot be characterised by a membership function which takes two values.
For example, the word tall can have dierent meanings depending on the context in which it is used,
a person may have some diculty to classify boys to be tall or not tall. There are some body-heights
which will always be classied as tall (e.g. 1.50 m) or not tall (e.g. 0.70 m), but for others (e.g. 1.10 m)
a denite classication is hard to nd. It requires us to x a value of height in the way that a child has
to be called tall when childs height exceeds this value. But the point of discontinuity, which appears in
the characteristic function, does not coincide with the conception that there is a smooth transition from
the height of a child who has to be called tall to that of a child who has to be called not tall.
One method to model gradual transitions is to use other degrees of membership in addition to 0 (does
not belong to it) and 1 (belongs to it). A mathematically simple way to introduce a gradual membership
consists in taking the degrees of membership from the compact interval [0, 1]. So, the concept of fuzzy
set is introduced to overcome this limitation of classical set theory.
A fuzzy set in a universe of discourse U is characterised by a membership function
A
(x) that takes
values in the interval [0, 1] (12).
A
(x) : X [0, 1]. (3)
In the following, several simple forms of representing fuzzy sets are given according to (5). In appli-
cations an interpretation of tall as a monotonic non-decreasing function like
a,b
(x) =
_
_
_
0, if x a
xa
ba
, if a x b
1, if x b,
(4)
where a < b, is employed. Other interpretations are piecewise linear functions, whose parameters are the
coordinates of the dening points. Exponential functions like
a,b
(x) =
_
1 e
a(xb)
, if x b
0, if x < b,
(5)
where a > 0 and b U. To interpret linguistic expressions like about a, we most simply adopt symmet-
rical triangular functions like
a,b
(x) =
_
1 |
ax
b
|, if a b x a +b
0, if x < a b or x > a +b,
(6)
where b > 0 and a U, as well as bell-shape Gaussian curves like
a,b
(x) = e
b(xa)
2
(7)
Fuzzy Systems Toolbox September 29, 1999 5
where b > 0 and a U. The expression approximately between b and c is most simply characterized by
the trapezoidal function
a,b,c,d
(x) =
_
_
xa
ba
, if a x < b
1, if b x c
xd
cd
, if c < x d
0, if x < a or x > d,
(8)
where a < b < c < d and a, b, c, d U. Note that the real number a can be described by
a
(x) =
{a}
(x) =
_
1, if x = a
0, if x = a,
(9)
and intervals [a, b] by
a,b
(x) =
[a,b]
(x) =
_
1, if a x b
0, if x < a or x > b.
(10)
2.1 Fuzzy Set Representations
Fuzzy sets are the basic elements in fuzzy set theory. The toolbox provides ve representations; discrete
representation, vector representation, matrix representation, LR representation, and L-set represen-
tation.
Discrete representation: A fuzzy set requires two vectors for a representation; one vector con-
taining the membership values of the fuzzy set and one vector containing the universe of discourse. For
fuzzy control, where we require libraries of fuzzy sets to represent a linguistic variable, we build a matrix
with one fuzzy set in each row. The universe of discourse must be identical for all fuzzy sets and stored
in an extra vector.
Vector representation: This data structure is especially used for fuzzy control and represents
piecewise linear, continuous triangular fuzzy sets. The fuzzy sets are fully overlapping; that is, the
membership values related to any given value of the universe of discourse, sum up to one. The most right
(left) fuzzy set is open; in other words, each given variable greater (smaller) than the most right (left)
centre of the fuzzy set is set to one. Knowing theses properties of membership functions, we only need
to specify the positions of the centres of the fuzzy sets. The term centre of the fuzzy set was introduced
above and it is dened as follows :
If the mean value of all points at which the membership function of a fuzzy set achieves its maximum
value is nite, then dene this mean value as the centre of the fuzzy set. If the mean value equals positive
(negative) innite, then the centre is dened as the smallest (largest) among all points that achieve the
maximum membership value (12).
Example 2.1 Vector representation. See gure 2.
C = [-1, -0.5, 0, 0.5, 1];
Matrix representation: It is also used in fuzzy control. It represents piecewise linear, continuous
trapezoidal fuzzy sets. A general trapezoid can be described by four characteristic points. Assuming
normal fuzzy sets (the membership values fall into the interval [0,1] and at least one point of each fuzzy
set has the membership value equal to one), the abscissa values are only needed to describe the trapezoidal
fuzzy set. A library of fuzzy sets is dene as follows:
Example 2.2 Matrix representation. See gure 2.
D = [-inf 0 40 60; % P1
0 20 60 100; % P2
0 40 60 100; % P3
40 60 80 inf]; % P4
Fuzzy Systems Toolbox September 29, 1999 6
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
Fig. 2: Vector representation (left) and matrix representation (right).
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
Fig. 3: LR representation.
where each column describes one trapezoidal fuzzy set. The rst row (P1) describes the extreme left
point of every trapezoid. The fourth row (P4) describes the extreme right point. The values -inf and inf
specied in P1 and in P4, respectively, dene open trapezoids. If P2 = P3 the fuzzy set is triangular.
LR representation: It requires a vector described as follows. par=[xmin,xmax,m1,m2, alpha,beta,ymin,ymax]
where xmin is the minimum value of the universe of discourse or universal set, xmax is the maximum value
of the universe of discourse. The membership function reaches its maximum value between m1 and m2.
alpha is the distance between m1 and the left universe-of-discourse point when the membership function
reaches its minimum value. beta is the distance between m2 and the right universe-of-discourse point
when the membership function reaches its minimum value. ymin and ymax are the minimum-value and
the maximum-value of the membership function, respectively.
Example 2.3 LR representation. See gure 3.
[f,x] = modlrset(tr,,[0,100,40,60,10,10,0,1],200);
L-set representation: This representation is used to store fuzzy sets in -cuts representation. The
rst column of a matrix stores the -levels for which the bounds of the levels sets are stored in further
columns. One fuzzy set requires a l 3 matrix, where l is the number of levels greater than zero.
Example 2.4 L-set representation. See gure 9.
Lset=[1.00 3.00 3.00
0.75 2.50 3.50
0.50 2.00 4.00
0.25 1.50 4.50];
Fuzzy Systems Toolbox September 29, 1999 7
100 80 60 40 20 0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
universe of discourse
m
e
m
b
e
r
s
h
ip
overlap = 4%
Fig. 4: modsuset().
80 60 40 20 0 20 40 60 80
0
0.2
0.4
0.6
0.8
1
universe of discourse
m
e
m
b
e
r
s
h
ip
Continue set
80 60 40 20 0 20 40 60 80
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
Discrete set
Fig. 5: con2dis().
2.2 Creating Fuzzy Set
modsuset(): Modelling of symmetrical and unimodal trapezoidal fuzzy sets with the mouse.
Given two characteristic points P1 and P2, the library will be created automatically
for a given number of sets. The points P1 and P2 may be acquired with the mouse
or passed as parameters. The resulting set is given in matrix representation.
Example 2.5 This command returns seven trapezoidal fuzzy sets where the two characteristic points
P1 and P2 are 20 and 10, respectively. The most left and right trapezoid is open. The universe of
discourse falls within [100, 100]. See gure 4.
modsuset(y,100,7,-20,-10);
modtrset(): Creates an arbitrary number of trapezoidal fuzzy sets using the mouse to specify
the characteristic points. The resulting set is given in matrix representation.
2.3 Conversion between Fuzzy Set Representations
con2dis(): Converts trapezoidal fuzzy sets into discrete fuzzy sets. See gure 5.
modgauss(): Converts a gaussian fuzzy set given in LR representation into a discrete fuzzy set.
Example 2.6 This command returns two vectors (discrete representation) describing a bell-shape Gaus-
sian. See gure 6.
[f,x] = modgauss(0,1,-3,3,200);
Fuzzy Systems Toolbox September 29, 1999 8
3 2 1 0 1 2 3
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
Fig. 6: modgauss().
modlrset(): Converts a fuzzy set given in LR representation into a discrete fuzzy set.
Example 2.7 This command returns two vectors (discrete representation) describing a trapezoidal fuzzy
set and a triangular fuzzy set. See gure 7.
xmin = 0;
xmax = 100;
m1 = 40;
m2 = 60;
alpha = 10;
beta = 10;
ymin = 0;
ymax = 1;
resx = 400;
[A,x] = modlrset(tr,,[xmin,xmax,m1,m2,alpha,beta,ymin,ymax],resx);
m1 = 70;
m2 = 70;
alpha = 10;
beta = 10;
plot_set(x,modlrset(tr,,[xmin,xmax,m1,m2,alpha,beta,ymin,ymax],resx));
This command returns two vectors (discrete representation) given the function 1/(1 +x
2
). See gure
7.
L = 1/(1+x^2);
R = 1/(1+x^2);
xmin = 0;
xmax = 50;
m1 = 30;
m2 = 35;
alpha = 5;
beta = 2;
ymin = 0;
ymax = 1;
resx = 400;
[A,x] = modlrset(L,R,[xmin,xmax,m1,m2,alpha,beta,ymin,ymax],resx);
2.4 Plotting Fuzzy Sets
plot set(): Plots fuzzy sets given in vector representation, matrix representation, and LR
representation.
Fuzzy Systems Toolbox September 29, 1999 9
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
0 5 10 15 20 25 30 35 40 45 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
Fig. 7: modlrset(). Trapezoidal and triangular fuzzy sets (left), and L = R = 1/(1 +x
2
) (right).
35 40 45 50 55 60 65
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
Fig. 8: plot set(). LR representation.
Example 2.8 This command plots fuzzy sets in vector representation. See gure 2.
plot_set([-1,-0.5,0,0.5,1]);
This command plots fuzzy sets in matrix representation. See gure 2.
D = [-inf 0 40 60; % P1
0 20 60 100; % P2
0 40 60 100; % P3
40 60 80 inf]; % P4
plot_set(D);
This command plots a fuzzy set in LR representation. See gure 8.
plot_set([40;60;5;5],tr);
plot Lset(): Contour plot of fuzzy sets given in L-set representation.
Example 2.9 This command plots a fuzzy set in L-set representation. See gure 9.
Lset=[1.00 3.00 3.00
0.75 2.50 3.50
0.50 2.00 4.00
0.25 1.50 4.50];
plot_Lset(Lset);
grid on;
Fuzzy Systems Toolbox September 29, 1999 10
1.5 2 2.5 3 3.5 4 4.5
0
0.25
0.5
0.75
1
Universe of discourse
L
s
e
t
Fig. 9: plot Lset(). L-set representation.
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Normalisation
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Concentration
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Dilation
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Contrastintensifying
Fig. 10: modi set().
2.5 Modications of Fuzzy Sets
modi set(): Modication of a fuzzy set or a fuzzy set library, and the operations are normaliza-
tion, concentration, dilation, and contrast intensifying. See gure 10.
Trap2L(): Converts a trapezoidal fuzzy set given in matrix representation into a fuzzy set in
L-set representation. See gure 11.
Fuzzy Systems Toolbox September 29, 1999 11
10 15 20 25 30 35 40
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
ip
12.5 15 17.5 20 30 32.5 35 37.5
0
0.25
0.5
0.75
1
Universe of discourse
L
s
e
t
Fig. 11: Trap2L().
Fuzzy Systems Toolbox September 29, 1999 12
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
The sets A and B
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Bounded difference. t1bd(A,B)
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Einstein product. t15ep(A,B)
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
minoperator. t3mi(A,B)
Fig. 12: Fuzzy intersection.
3 Operations on Fuzzy Sets
3.1 Operations for Fuzzy Sets in Discrete Representation
The Fuzzy Systems Toolbox (FSTB) delivers basic operations for fuzzy sets given in discrete representa-
tion. The functions can be classied in the following four sections:
Fuzzy Intersection Triangular Norms
Let t : [0, 1] [0, 1] [0, 1] be a mapping that transforms the membership functions of A and B into the
membership function of the intersection of A and B.
t[
A
(x),
B
(x)] =
AB
(x) (11)
In order for the function t to be qualied as an intersection, it must satised the following four require-
ments (12) :
1. t(0, 0) = 0, t(1, a) = t(a, 1) = a (boundary condition).
2. t(a, b) = t(b, a) (commutative condition).
3. If a a
and b b
, b
) (non-decreasing).
4. t(t(a, b), c) = t(a, t(b, c)) (associativity).
The t-norm functions available in the Fuzzy Systems Toolbox (FSTB) are enumerated as follows (13) :
twdp(): drastic product t
w
[
A
(x),
B
(x)] =
_
_
_
A
(x) if
B
(x) = 1
B
(x) if
A
(x) = 1
0, otherwise.
t1bd(): bounded dierence t
1
[
A
(x),
B
(x)] = max(0,
A
(x) +
B
(x) 1)
t15ep(): Einstein product t
1.5
[
A
(x),
B
(x)]=
(
A
(x)
B
(x))/(2 (
A
(x) +
B
(x)
A
(x)
B
(x)))
t2ap(): algebraic product t
2
[
A
(x),
B
(x)] =
A
(x)
B
(x)
t25hp(): Hamacher product t
2.5
[
A
(x),
B
(x)]=
A
(x)
B
(x)/(
A
(x) +
B
(x)
A
(x)
B
(x))
t3mi(): min-operator t
3
[
A
(x),
B
(x)] = min(
A
(x),
B
(x))
Fuzzy Systems Toolbox September 29, 1999 13
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
The sets A and B
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Bounded sum. s1bs(A,B)
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Einstein sum. s15es(A,B)
0 20 40 60 80 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
maxoperator. s3ma(A,B)
Fig. 13: Fuzzy union.
Fuzzy Union Triangular Co-norms
Let A and B be fuzzy sets. Let s: [0, 1] [0, 1] [0, 1] be a mapping that transforms the membership
functions of A and B into the membership function of the union of A and B.
s[
A
(x),
B
(x)] =
AB
(x) (12)
In order for the function s to be qualied as a union, it must satised the following four requirements
(12).
1. s(1, 1) = 1, s(0, a) = s(a, 0) = a (boundary condition).
2. s(a, b) = s(b, a) (commutativity).
3. If a a
and b b
, b
) (non-decreasing).
4. s(s(a, b), c) = s(a, s(b, c)) (associativity).
The s-norm functions available in the Fuzzy Systems Toolbox (FSTB) are enumerated as follows (13) :
swds(): drastic sum s
w
[
A
(x),
B
(x)] =
_
_
_
A
(x) if
B
(x) = 0
B
(x) if
A
(x) = 0
1, otherwise.
s1bs(): bounded sum s
1
[
A
(x),
B
(x)] = min(1,
A
(x) +
B
(x))
s15es(): Einstein sum s
1.5
[
A
(x),
B
(x)] = (
A
(x) +
B
(x))/(1 +
A
(x)
B
(x))
s2as(): algebraic sum s
2
[
A
(x),
B
(x)] =
A
(x) +
B
(x)
A
(x)
B
(x)
s25hs(): Hamacher sum s
2.5
[
A
(x),
B
(x)]=
(
A
(x) +
B
(x) 2
A
(x)
B
(x))/(1
A
(x)
B
(x))
s3ma(): max-operator s
3
[
A
(x),
B
(x)] = max(
A
(x),
B
(x))
sumop(): sum-operator s[
A
(x),
B
(x)] =
A
(x) +
B
(x)
3.2 Logical Operations
f = fuz fand(): Fuzzy operator. When the parameter gamma is set to one, the operator is identical
to the minimum-operator. When the parameter gamma is set to zero, the operator
is equal to the arithmetic mean. See gure 14.
f = fuz for(): Fuzzy operator. When the parameter gamma is set to one, the operator is identical
to the maximum-operator. When the parameter gamma is set to zero, the average
value is calculated. See gure 15.
f = fuz not(): Complement of a fuzzy set in discrete representation. See gure 16.
Fuzzy Systems Toolbox September 29, 1999 14
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
the sets cold, warm and hot
cold
warm
hot
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Minoperator (gamma = 1)
fuz_fand(1,fuz_fand(1,hot,warm),cold)
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
fuz_fand(0.5,fuz_fand(0.5,hot,warm),cold)
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Average (gamma = 0)
fuz_fand(0,fuz_fand(0,hot,warm),cold)
Fig. 14: fuz fand().
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
the sets cold, warm and hot
cold
warm
hot
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Maxoperator (gamma = 1)
fuz_for(1,fuz_for(1,hot,warm),cold)
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
fuz_for(0.5,fuz_for(0.5,hot,warm),cold)
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Average (gamma = 0)
fuz_for(0,fuz_for(0,hot,warm),cold)
Fig. 15: fuz for().
Fuzzy Systems Toolbox September 29, 1999 15
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Fuzzy set
0 10 20 30 40 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
fuz_not(Fuzzy set)
Fig. 16: fuz not().
Operators with Parameters
f = gamma a(): Gamma operator. It is also called compensatory-and operator. This operator
depends on gamma working between the algebraic product and the algebraic sum.
See gure 17.
f = gamma b(): Gamma operator. It is a convex combination of the min-operator and the max-
operator. See gure 18.
3.3 Operations for Fuzzy Sets in LR Representation
The toolbox provides basic algebraic operations for fuzzy sets given in LR representation. The functions
are given in the following list : f = fuz add(): Extended addition of two fuzzy sets in LR representation. See gure
f = fuz div(): Approximated division of two fuzzy sets in LR representation. See gure 20.
f = fuz exp(): Exponential function of a fuzzy set in LR representation. See gure 21.
f = fuz inv(): Inversion of a fuzzy set in LR representation.
f = fuz log(): Natural logarithm of a fuzzy set in LR representation. See gure 21.
f = fuz mul(): Multiplication of two fuzzy sets in LR representation. See gure 22.
f = fuz sign(): Determines the sign of a fuzzy set in LR representation.
f = fuz sire(): Sign reversal of a fuzzy set in LR representation. See gure 19.
f = fuz sub(): Subtraction of two fuzzy sets in LR representation. See gure 19.
3.4 Operations for Fuzzy Sets in L-set Representation
The toolbox delivers basic operations for fuzzy sets given in L-set representation. The functions are
given in the following list :
f = L abs(): Absolute value of the fuzzy quantity given in L-set representation. See gure 23.
f = L add(): Addition of two fuzzy quantities given in L-set representation. See gure 24.
f = L dist(): Fuzzy distance between two fuzzy quantities given in L-set representation. See
gure 25.
f = L match(): Matching degree of a crisp value in the universe of discourse with the fuzzy set given
in L-set representation.
f = L mean(): The mean value of a fuzzy number in L-set representation. See gure 26.
f = L neg(): Negation of a fuzzy quantity given in L-set representation. See gure 27.
f = L ng(Lset): The fuzzy set of numbers that are necessarily greater than Lset. See gure 28.
f = L nl(Lset): The fuzzy set of numbers that are necessarily less than Lset. See gure 29.
f = L prod(): Product of two fuzzy quatities given in L-set representation. See gure 30.
f = L sim(): Similarity between two fuzzy quatities given in L-set representation. See gure 31.
f = L sub(): Subtraction of two fuzzy quantities given in L-set representation. See gure 32.
Fuzzy Systems Toolbox September 29, 1999 16
0
0.5
1
0
0.5
1
0
0.5
1
gamma_a, gamma=0, algebraic product
0
0.5
1
0
0.5
1
0
0.5
1
gamma_a, gamma=0.3
0
0.5
1
0
0.5
1
0
0.5
1
gamma_a, gamma=0.6
0
0.5
1
0
0.5
1
0
0.5
1
gamma_a, gamma=1, algebraic sum.
Fig. 17: gamma a() and show op().
0
0.5
1
0
0.5
1
0
0.5
1
gamma_b, gamma=0, maxoperator
0
0.5
1
0
0.5
1
0
0.5
1
gamma_b, gamma=0.3
0
0.5
1
0
0.5
1
0
0.5
1
gamma_b, gamma=0.6
0
0.5
1
0
0.5
1
0
0.5
1
gamma_b, gamma=1, minoperator
Fig. 18: gamma b() and show op().
Fuzzy Systems Toolbox September 29, 1999 17
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1, x2
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1 + x2
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1 x2
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x2
sign reversal x2
Fig. 19: fuz add(), fuz sub() and fuz sire().
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1 / x2
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1 / (x2)
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
(x1) / (x2)
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
(x1) / x2
Fig. 20: fuz div().
Fuzzy Systems Toolbox September 29, 1999 18
10 0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1
x1, log(x1)
10 0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1
fuz_exp(x1)
Fig. 21: fuz log() and fuz exp().
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1 * x2
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
x1 * (x2)
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
(x1) * (x2)
50 0 50
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
x1 x2
(x1) * x2
Fig. 22: fuz mul().
Fuzzy Systems Toolbox September 29, 1999 19
2 1 0 1 1.75 2.5 3.25
0
0.25
0.5
0.75
1
Universe of discourse
Q
Families of alphacuts:
2 1 0 1 1.75 2.5 3.25
0
0.25
0.5
0.75
1
Universe of discourse
a
b
s
(
Q
)
Fig. 23: L abs().
0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.5 4 4.5
0
0.25
0.5
0.75
1
Universe of discourse
s
1
Families of alphacuts:
0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.5 4 4.5
0
0.25
0.5
0.75
1
Universe of discourse
s
2
0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.5 4 4.5
0
0.25
0.5
0.75
1
Universe of discourse
s
1
+
s
2
Fig. 24: L add().
Fuzzy Systems Toolbox September 29, 1999 20
0 2.5 3 3.5 4 4.5 5 5.5
0
0.25
0.5
0.75
1
Universe of discourse
s
1
Families of alphacuts:
0 2.5 3 3.5 4 4.5 5 5.5
0
0.25
0.5
0.75
1
Universe of discourse
s
2
0 2.5 3 3.5 4 4.5 5 5.5
0
0.25
0.5
0.75
1
Universe of discourse
d
i
s
t
(
s
1
,
s
2
)
Fig. 25: L dist().
0.25 0.5 0.75 1 1.25 1.5 1.75
0
0.25
0.5
0.75
1
Mean value = [0.625, 1.38]
L
s
e
t
Fig. 26: L mean().
Fuzzy Systems Toolbox September 29, 1999 21
1.5 1 0.75 0.5 0.25 0 0.25 0.5 0.75 1 1.5
0
0.25
0.5
0.75
1
Universe of discourse
Q
Families of alphacuts:
1.5 1 0.75 0.5 0.25 0 0.25 0.5 0.75 1 1.5
0
0.25
0.5
0.75
1
Universe of discourse
Q
Fig. 27: L neg().
0.25 0.5 0.75 1 1.25 1.5 1.75 2
0
0.25
0.5
0.75
1
Universe of discourse
L
s
e
t
0.25 0.5 0.75 1 1.25 1.5 1.75 2
0
0.25
0.5
0.75
1
Universe of discourse
L
_
n
g
(
L
s
e
t
)
Fig. 28: L ng().
Fuzzy Systems Toolbox September 29, 1999 22
0 0.25 0.5 0.75 1 1.25 1.5 1.75
0
0.25
0.5
0.75
1
Universe of discourse
L
s
e
t
0 0.25 0.5 0.75 1 1.25 1.5 1.75
0
0.25
0.5
0.75
1
Universe of discourse
L
_
n
l
(
L
s
e
t
)
Fig. 29: L nl().
0.49 0.64 0.7 0.8 0.81 0.9 1 1.1 1.2 1.21 1.3 1.44 1.69
0
0.25
0.5
0.75
1
Universe of discourse
s
1
Families of alphacuts:
0.49 0.64 0.7 0.8 0.81 0.9 1 1.1 1.2 1.21 1.3 1.44 1.69
0
0.25
0.5
0.75
1
Universe of discourse
s
2
0.49 0.64 0.7 0.8 0.81 0.9 1 1.1 1.2 1.21 1.3 1.44 1.69
0
0.25
0.5
0.75
1
Universe of discourse
s
1
*
s
2
Fig. 30: L prod().
Fuzzy Systems Toolbox September 29, 1999 23
3.25 3.5 3.75 4 4.25 4.5 4.75 5 5.25 5.5 5.75
0
0.25
0.5
0.75
1
Universe of discourse
s
1
Families of alphacuts:
3.25 3.5 3.75 4 4.25 4.5 4.75 5 5.25 5.5 5.75
0
0.25
0.5
0.75
1
Shape similarity measure = 0.825
s
2
Fig. 31: L sim().
2 1.5 1 0.5 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25
0
0.25
0.5
0.75
1
Universe of discourse
s
1
Families of alphacuts:
2 1.5 1 0.5 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25
0
0.25
0.5
0.75
1
Universe of discourse
s
2
2 1.5 1 0.5 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25
0
0.25
0.5
0.75
1
Universe of discourse
s
1
s
2
Fig. 32: L sub().
Fuzzy Systems Toolbox September 29, 1999 24
Fig. 33: gui con1.
3.5 Demonstration Files
The Fuzzy Systems Toolbox (FSTB) provides eleven demonstration les. They are script les and may
also serve as a kind of users guide. Execute the demonstration les from the MATLAB
TM
workspace.
The demonstration les which are related to the sections in the Users Guide are :
fuz demo1: The commands employed by this demo are given below :
1. plot set(), modlrset() (LR representation).
2. plot set(), modlrset() (L = 1/(1 +x
2
) = R).
3. plot set(), modgauss().
4. plot set() (matrix representation).
5. s1bs(), s15es(), s3ma().
6. t1bd(), t15ep(), t3mi().
7. show op(), gamma a().
8. show op(), gamma b().
9. modi set().
10. fuz fand().
11. fuz for().
12. fuz not().
13. fuz add(), fuz sub(), fuz sire().
14. fuz mul().
15. fuz div().
16. fuz log(), fuz exp().
gui con1: GUI driven demonstration le for logical connectives. See gure 33.
gui con2: GUI driven demonstration le for logical connectives. See gure 34.
Fuzzy Systems Toolbox September 29, 1999 25
Fig. 34: gui con2.
Fuzzy Systems Toolbox September 29, 1999 26
Fuzzy system.
Fuzzy system.
x
x
2
1
y
y
2
1
Fuzzy system.
y
x
n
m
n inputs. 1 output.
n inputs. 1 output.
n inputs. 1 output.
Fig. 35: A multi-input-multi-output fuzzy system.
4 Fuzzy Rule-Based Systems, Fuzzy Inference Engines
Consider the multi-input-single-output fuzzy system shown in gure (35), where
x = (x
1
,x
2
, ...,x
n
)
T
U R
n
and y V R. A multi-output system can always be decomposed
into a collection of single-output systems.
4.1 Fuzzy Rule-Based Systems
A fuzzy if-then rule is a conditional statement expressed as
IF < fuzzy proposition >, THEN < fuzzy proposition > (13)
where fuzzy proposition could be a single statement or a composition of single statements. A single
statement is x is A, where A is a fuzzy set dened in the physical domain of x. The composition of single
statements is x
1
is A
1
and x
2
is A
2
or x
3
is A
3
, where the connectives and and or represent fuzzy
intersection and fuzzy union, respectively.
Therefore, the composition of single statements should be understood as fuzzy relations. How to determine
the membership functions of these fuzzy relations is given as follows (12) :
For connective and use fuzzy intersections. Specically, let x and y be linguistic variables in the
physical domains U and V , and A and B be fuzzy sets in U and V , respectively. Then, the compound
fuzzy proposition
x is A and y is B (14)
is interpreted as the fuzzy relation A B in U x V with membership function
AB
(x, y) = t[
A
(x),
B
(y)] (15)
where t : [0, 1] [0, 1] [0, 1] is any t-norm.
For connective or use fuzzy unions. Specically, the compound fuzzy proposition
x is A or y is B (16)
Fuzzy Systems Toolbox September 29, 1999 27
is interpreted as the fuzzy relation A B in U x V with membership function
AB
(x, y) = s[
A
(x),
B
(y)] (17)
where s: [0, 1] [0, 1] [0, 1] is any s-norm.
The fuzzy rule-based system is interpreted as a fuzzy relation in the input-output product space U x V ,
and comprises the following fuzzy if-then rules :
Ru
(l)
: IF x
1
is A
l
1
and ... and x
n
is A
l
n
, THEN y is B
l
(18)
where A
l
i
and B
l
are fuzzy sets in U
i
R and V R, respectively, and x = (x
1
,x
2
, . . . , x
n
)
T
U
and y V are the input and output variables of the fuzzy system, respectively. Let M be the number
of rules in the fuzzy rule-based system; that is, l = 1, 2, . . . , M in (18). Rules in the form of (18) are
called canonical fuzzy if-then rules because they include many other types of fuzzy rules and fuzzy
propositions as special cases, as shown in the following lemma (12).
Lemma 4.1 : The canonical fuzzy if-then rules in the form of (18) include the following as special
cases:
Partial Rules :
IF x
1
is A
l
1
and ... and x
m
is A
l
m
, THEN y is B
l
(19)
where m < n.
Or rules :
IF x
1
is A
l
1
and ... and x
m
is A
l
m
or x
m+1
is A
l
m+1
and ... and x
n
is A
l
n
,
THEN y is B
l
(20)
Single fuzzy statement :
y is B
l
(21)
Non-fuzzy rules.
The partial rule (19) is equivalent to
IF x
1
is A
l
1
and ... and x
m
is A
l
m
or x
m+1
is I and ... and x
n
is I,
THEN y is B
l
(22)
where I is a fuzzy set in R with
I
(x) 1 for all x R. Based on intuitive meaning of the logic operator
or, the Or rule (20) is equivalent to the following two rules :
IF x
1
is A
l
1
and ... and x
m
is A
l
m
, THEN y is B
l
(23)
IF x
m+1
is A
l
m+1
and ... and x
n
is A
l
n
, THEN y is B
l
(24)
The fuzzy statement (21) is equivalent to
Ru
(l)
: IF x
1
is I and ... and x
n
is I, THEN y is B
l
(25)
Finally, if the membership functions of A
l
i
and B
l
can only take values 1 or 0, then the rules (18) become
non-fuzzy rules.
4.2 Fuzzy Inference Engine
In a fuzzy inference engine, fuzzy logic principles are used to combine the fuzzy if-then rules in the fuzzy
rule-based system into a mapping from a fuzzy set A
in U to a fuzzy set B
A
l
1
A
l
n
(x
1
, . . . , x
n
) =
A
l
1
(x
1
)
A
l
n
(x
n
) (26)
where * represents any t-norm operator. The implication in Ru
l
represents any of the following
implications (12) :
Dienes-Rescher Implication :
Ru
(l)
=
Q
D
(x, y) = max
_
1
A
l
1
A
l
n
(x
1
, . . . , x
n
),
B
l
(y)
(27)
Lukasiewicz Implication :
Ru
(l)
=
Q
L
(x, y) = min
_
1, 1
A
l
1
A
l
n
(x
1
, . . . , x
n
) +
B
l
(y)
(28)
Zadeh Implication :
Ru
(l)
=
Q
Z
(x, y) = max
_
min
_
A
l
1
A
l
n
(x
1
, . . . , x
n
),
B
l
(y)
_
, 1
A
l
1
A
l
n
(x
1
, . . . , x
n
)
(29)
G odel Implication :
Ru
(l)
=
Q
G
(x, y) =
_
1 if
A
l
1
A
l
n
(x
1
, . . . , x
n
)
B
l
(y)
B
l
(y) otherwise
(30)
Mamdani Implications :
Ru
(l)
=
Q
MM
(x, y) = min
_
A
l
1
A
l
n
(x
1
, . . . , x
n
),
B
l
(y)
(31)
or
Ru
(l)
=
Q
MP
(x, y) =
A
l
1
A
l
n
(x
1
, . . . , x
n
)
B
l
(y) (32)
The M rules in the form (18) are interpreted as a single fuzzy relation Q
M
in U V dened by
Q
M
=
M
_
l=1
Ru
(l)
(33)
This combination is called the Mamdani combination. If the symbol + is used to represent the s-norm,
then (33) can be rewritten as
Q
M
(x, y) =
(1)
Ru
(x, y) + +
(M)
Ru
(x, y) (34)
For the second view of a set of rules, the M fuzzy if-then rules of (18) are interpreted as a fuzzy relation
Q
G
in U V , which is dened as
Q
M
=
M
l=1
Ru
(l)
(35)
or
Q
G
(x, y) =
(1)
Ru
(x, y)
(M)
Ru
(x, y) (36)
Fuzzy Systems Toolbox September 29, 1999 29
where * denotes t-norm. This combination is called the G odel combination.
Let A
A
(x) =
_
1 if x = x
U R
n
0 otherwise
(37)
and be the input to the fuzzy inference engine. If Q
M
is consider as a single fuzzy if-then rule, the
output of the fuzzy inference engine is the projection of A
Q
M
on V .
B
(y) = sup
xU
t [
A
(x),
Q
M
(x, y)] (38)
The Godel combination gives the following expression :
B
(y) = sup
xU
t [
A
(x),
Q
G
(x, y)] (39)
The computational procedure of the composition based inference is given as follows :
Step 1: Determine the membership functions
A
l
1
A
l
n
(x
1
, . . . , x
n
) for l = 1, 2, . . . , M according to
(26).
Step 2: Determine
Ru
(l)
(x, y) =
A
l
1
A
l
n
B
l (x
1
, . . . , x
n
) for l = 1, 2, . . . , M according to any given
implication.
Step 3: Determine
Q
M
(x, y) or
Q
G
(x, y) according to (34) or (36).
Step 4: Given input fuzzy set A
l
(y) = sup
xU
t
_
A
(x),
Ru
(l)
(x, y)
_
(40)
for l = 1, 2, . . . , M.
Step 4: The output of the fuzzy inference engine is the combination of the M fuzzy set {B
1
, . . . , B
M
}
either by union
B
(y) =
B
1
(y) + +
B
M
(y) (41)
or by intersection
B
(y) =
B
1
(y)
B
M
(y) (42)
where + and * denote s-norm and t-norm operators, respectively.
Fuzzy Systems Toolbox September 29, 1999 30
Particular Inference Engines
From above we can identify various inference engines depending on the structure : Composition based
inference or individual-rule based inference, and within the composition based inference, Mamdani com-
bination or G odel combination. With regard to the implication we can chose from Dienes-Rescher impli-
cation (27), Lukasiewicz implication (28), Zadeh implication (29), G odel implication (30), or Mamdani
implications (31)(32). Finally, t-norm and s-norm operators in the various formulas. The following three
criteria should be considered when a selection has to be made (12).
Intuitive appeal: The choice should make sense from an intuitive point of view. For example, if a set
of rules are given by a human expert who believes that these rules are independent of each other,
then they should be combined by union.
Computational eciency: The choice should result in a formula relating B
with A
, which is simple
to compute.
Special properties: Some choice may result in an inference engine that has special properties. If these
properties are desirable, then this choice should be made.
The product inference engine and the minimum inference engine are the most commonly used fuzzy
inference engines in fuzzy systems and fuzzy control. The main advantage of them is their computational
simplicity. Also, they are intuitively appealing for many practical problems, especially for fuzzy control.
The product inference engine and the minimum inference engine are given as follows :
Product Inference Engine: Product inference engine uses individual-rule based inference with union
combination (41), Mamdanis product implication (32), and algebraic product for all the t-norm
operator and max for all the s-norm operators. The product inference engine is
B
(y) =
M
max
l=1
_
sup
xU
_
A
(x)
n
i=1
A
l
i
(x
i
)
B
l (y)
__
(43)
Minimum Inference Engine: Minimum inference engine uses individual-rule based inference with
union combination (41), Mamdanis minimum implication (31), and min for all the t-norm op-
erators and max for all the s-norm operators. The minimum inference engine is
B
(y) =
M
max
l=1
_
sup
xU
min
_
A
(x),
A
l
1
(x
1
), ...,
A
l
n
(x
n
),
B
l (y)
_
_
(44)
4.3 Defuzziers
The task of the defuzzier is to specify a crisp point y
V .
The following three criteria should be considered to choose a defuzzication scheme (12).
Plausibility: The point y
should represent B
.
Computational simplicity: This criterion is particularly important for fuzzy control because fuzzy
controllers operate in real-time.
Continuity: A small change in B
.
There are three types of defuzziers: centre of gravity defuzzier, centre average defuzzier and maximum
defuzzier. The centre average defuzzier is the most commonly used defuzzier in fuzzy systems and
fuzzy control. It is computational simple and intuitively plausible. Its denition is (12) :
Denition 1 . Let y
l
be the centre of the l
th fuzzy set B
l
and w
l
be its height, the centre average
defuzzier determines y
as
y
M
l=1
y
l
w
l
M
l=1
w
l
(45)
Fuzzy Systems Toolbox September 29, 1999 31
Suppose that the fuzzy set B
l
in (18) is normal with centre y
l
. The fuzzy systems with fuzzy rule-based
system (18), product inference engine (43), singleton fuzzier (37) and centre average defuzzier (45),
are of the following form :
f(x) =
M
l=1
y
l
_
n
i=1
A
l
i
(x
i
)
_
M
l=1
_
n
i=1
A
l
i
(x
i
)
_ (46)
where x U R
n
is the input to the fuzzy system, and f(x) V R is the output of the fuzzy system.
Another class of commonly used fuzzy systems is obtained by replacing the product inference engine in
(46) by the minimum inference engine. The fuzzy systems with fuzzy rule-based system (18), minimum
inference engine (44), singleton fuzzier (37) and centre average defuzzier (45), are of the following
form :
f(x) =
M
l=1
y
l
_
min
n
i=1
A
l
i
(x
i
)
_
M
l=1
_
min
n
i=1
A
l
i
(x
i
)
_ (47)
where x U R
n
is the input to the fuzzy system, and f(x) V R is the output of the fuzzy system.
Example 4.1 . Let y(x) be a fuzzy system with two inputs x=(x
1
, x
2
). The fuzzy rule-based system is:
IF x
1
is A
n1
and x
2
is A
n2
THEN y is B
1
IF x
1
is A
z1
and x
2
is A
n2
THEN y is B
2
IF x
1
is A
p1
and x
2
is A
n2
THEN y is B
3
IF x
1
is A
n1
and x
2
is A
z2
THEN y is B
4
IF x
1
is A
z1
and x
2
is A
z2
THEN y is B
5
IF x
1
is A
p1
and x
2
is A
z2
THEN y is B
6
IF x
1
is A
n1
and x
2
is A
p2
THEN y is B
7
IF x
1
is A
z1
and x
2
is A
p2
THEN y is B
8
IF x
1
is A
p1
and x
2
is A
p2
THEN y is B
9
(48)
where A
n1
, A
z1
and A
p1
are triangular members of a fuzzy set which is fully overlapping. The centre of
the members A
n1
, A
z1
and A
p1
are set to -1, 0 and 1, respectively. In the same way, A
n2
, A
z2
and A
p2
are triangular members of a fully overlapping fuzzy set. The centre of the members A
n2
, A
z2
and A
p2
are
set to -1, 0, and 1, respectively. The centre of the fuzzy sets B
1
, B
2
, B
3
, B
4
, B
5
, B
6
, B
7
, B
8
and B
9
are
set to -1, -0.75, -0.5, -0.25, 0, 0.25, 0.5, 0.75 and 1, respectively. In other words; y
1
= -1, y
2
= -0.75,
y
3
= -0.5, y
4
= -0.25, y
5
= 0, y
6
= 0.25, y
7
= 0.5, y
8
= 0.75 and y
9
= 1. Now, the fuzzy system with
fuzzy rule-based system (48), product inference engine (43), singleton fuzzier (37) and centre average
defuzzier (45), is of the following form :
y(x
1
, x
2
) =
9
l=1
y
l
_
2
i=1
A
l
i
(x
i
)
_
9
l=1
_
2
i=1
A
l
i
(x
i
)
_ (49)
or
y(x
1
, x
2
) =
y
1
(
A
n1
(x
1
)
A
n2
(x
2
)) + y
2
(
A
z1
(x
1
)
A
n2
(x
2
)) +... + y
9
(
A
p1
(x
1
)
A
p2
(x
2
))
A
n1
(x
1
)
A
n2
(x
2
) +
A
z1
(x
1
)
A
n2
(x
2
) +... +
A
p1
(x
1
)
A
p2
(x
2
)
(50)
Figure (36) shows a plot of the fuzzy system y(x
1
, x
2
). Figure (37) shows the same system, but the
members of the input fuzzy sets have been changed to gaussian shape.
Example 4.2 . Now, consider a fuzzy system with fuzzy rule-based system (48), minimum inference
engine (44), singleton fuzzier (37) and centre average defuzzier (45). It has the following form :
y(x
1
, x
2
) =
9
l=1
y
l
_
min
2
i=1
A
l
i
(x
i
)
_
9
l=1
_
min
2
i=1
A
l
i
(x
i
)
_ (51)
Fuzzy Systems Toolbox September 29, 1999 32
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Input fuzzy set
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Output fuzzy set
1
0
1
1
0
1
1
0
1
x
1
Product Inference Engine
x
2
Y
1 0.5 0 0.5 1
1
0.5
0
0.5
1
x
1
x
2
Product Inference Engine
Fig. 36: Product Inference Engine.
or
y(x
1
, x
2
) =
y
1
min(
A
n1
(x
1
),
A
n2
(x
2
)) +... + y
9
min(
A
p1
(x
1
),
A
p2
(x
2
))
min(
A
n1
(x
1
),
A
n2
(x
2
)) +... +min(
A
p1
(x
1
),
A
p2
(x
2
))
(52)
Figures (38) and (39) show the plot of the fuzzy system y(x
1
, x
2
) with triangular and gaussian members
of input fuzzy sets, respectively.
4.4 Demonstration Files
The Fuzzy Systems Toolbox (FSTB) provides several demonstration les. They are script les and may
also serve as a kind of users guide. Execute the demonstration les from the MATLAB
TM
workspace.
The demonstration les which related to the previous section, are :
gui ar1: GUI driven demonstration le for approximate reasoning: Simple temperature con-
trol. See gure 40.
inference engine demo: Executes the examples 4.1 and 4.2.
Fuzzy Systems Toolbox September 29, 1999 33
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Input fuzzy set
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Output fuzzy set
1
0
1
1
0
1
1
0
1
x
1
Product Inference Engine
x
2
Y
1 0.5 0 0.5 1
1
0.5
0
0.5
1
x
1
x
2
Product Inference Engine
Fig. 37: Product Inference Engine.
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Input fuzzy set
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Output fuzzy set
1
0
1
1
0
1
1
0
1
x
1
Minimum Inference Engine
x
2
Y
1 0.5 0 0.5 1
1
0.5
0
0.5
1
x
1
x
2
Minimum Inference Engine
Fig. 38: Minimum Inference Engine.
Fuzzy Systems Toolbox September 29, 1999 34
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Input fuzzy set
1 0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Universe of discourse
M
e
m
b
e
r
s
h
i
p
Output fuzzy set
1
0
1
1
0
1
1
0
1
x
1
Minimum Inference Engine
x
2
Y
1 0.5 0 0.5 1
1
0.5
0
0.5
1
x
1
x
2
Minimum Inference Engine
Fig. 39: Minimum Inference Engine.
Fig. 40: gui ar1.
Fuzzy Systems Toolbox September 29, 1999 35
T 0 2T 3T
e(T) + e(2T)
2
= f(2T)
2
e(0) + e(T)
= f(T)
e(t)
t
f(0)
Fig. 41: Function f(hT).
5 Fuzzy Control
A fuzzy proportional integral controller with two inputs and one output is dened in terms of piecewise
linear membership functions for fuzzication, control rules and a linear defuzzication algorithm. It
is shown that a fuzzy PI-controller is not equivalent to a linear nonfuzzy PI-controller if the rules are
evaluated using the Zadeh-logic alone. However, it can be shown that a fuzzy PI-controller is precisely
equivalent to a linear nonfuzzy PI-controller if mixed fuzzy logic is used to evaluate the control rules.
Sources of nonlinearity in a fuzzy controller include the algorithm used for fuzzication, type of fuzzy
logic used for evaluating the fuzzy control rules, and the defuzzication algorithm used for the controller
output (14). Using a nonlinear defuzzication algorithm, we show that a fuzzy PI-controller is equivalent
to a nonlinear nonfuzzy PI-controller with proportional and integral gains changing with the error and
rate of change of error about a setpoint. Apart from this, the performance of a simple fuzzy PI-controller
with linear and nonlinear defuzzication algorithms will be analysed following the basic ideas suggested
by Siler et al. (1988) (10) and Ying et al. (1990) (14).
5.1 Discrete PI-controller
The PI-control action in analog controllers is given by
u(t) = K
p
e(t) +K
i
_
t
0
e(t) dt (53)
where e(t) is the input to the controller (the actuating error signal), u(t) is the output of the controller
(the manipulating signal), K
p
and K
i
are the proportional and integral gains of the analog PI-controller,
respectively. To obtain the pulse transfer function for the digital PI-controller (9), equation (53) will be
discrete. The integral term is approximated to the trapezoidal area. The following equation is obtained :
u(nT) = K
p
e(nT) +K
i
T
_
e(0) +e(T)
2
+
e(T) +e(2T)
2
+ +
e((n 1)T) +e(nT)
2
_
= K
p
e(nT) +K
i
T
n
h=1
e((h 1)T) +e(hT)
2
(54)
Dene
f(hT) =
e((h 1)T) +e(hT)
2
; f(0) = 0 (55)
Figure 41 shows the function f(hT). Then
n
h=1
e((h 1)T) +e(hT)
2
=
n
h=1
f(hT) (56)
Fuzzy Systems Toolbox September 29, 1999 36
Taking the z transform of this last equation, it is obtained
Z
_
n
h=1
e((h 1)T) + e(hT)
2
_
= Z
_
n
h=1
f (hT)
_
=
1
1 z
1
[F(z) f(0)]
=
1
1 z
1
F(z) (57)
Notice that
F(z) = Z [f (hT)] =
1 + z
1
2
E(z ) (58)
Hence,
Z
_
n
h=1
e((h 1)T) + e(hT)
2
_
=
1 + z
1
2(1 z
1
)
E(z ) (59)
Then the z transform of equation (54) gives
U(z) =
_
K
p
+K
i
T(1 +z
1
)
2(1 z
1
)
_
E(z) (60)
This last equation may be rewritten as follows :
U(z) =
_
K
p
+
K
i
T
2
_
1 +
2
1 z
1
__
E(z)
=
_
K
p
K
i
T
2
+
K
i
T
1 z
1
_
E(z)
=
_
K
p
D
+
K
i
D
1 z
1
_
E(z) (61)
where
K
p
D
= K
p
K
i
D
2
(62)
K
i
D
= K
i
T (63)
Notice that the proportional gain K
p
D
for the digital PI-controller is smaller than the proportional gain
K
p
of the analog PI-controller by K
i
D
/2. The pulse transfer function of the digital PI-controller becomes
G
D
(z) =
U(z)
E(z)
= K
p
D
+
K
i
D
1 z
1
(64)
5.2 Fuzzy PI-controller with Linear Defuzzication
The relationship between a PI-controller and a fuzzy PI-controller, consisting of two inputs, rate of change
of error and error, one output and ve fuzzy control rules, will be determined. The fuzzy partitions rate
and error have three fuzzy sets, and the fuzzy partition for controller output has ve fuzzy sets. We will
concentrate on the fuzzy PI-controller is not equivalent to a linear nonfuzzy PI-controller if the rules are
evaluated using the Zadeh-logic alone. However, it can be shown that a fuzzy PI-controller is precisely
equivalent to a linear nonfuzzy PI-controller if mixed fuzzy logic is used to evaluate the control rules
following the basic ideas indicated by Siler et al. (1988).
Description of the Fuzzy PI-controller
An analog linear PI-controller can be described by the following dierential equation
du(t)
dt
= K
p
de(t)
dt
+K
i
e(t) (65)
Fuzzy Systems Toolbox September 29, 1999 37
The error signal e(t) has to be dierentiated,
du(t)
dt
integrated numerically within the control module to
produce the controller output u(t). Let deriv
(nT)
be the rate of change of process error, and let error
(nT) = K
p
rate
(nT) +K
i
error
(nT) (66)
where n is a positive integer, and T is a sampling period.
The last equation can be redened to make the rate of change of process output, the rate of change of
process error and the error of the process fall within the interval [-1,1], without loss of generality. New
scaling parameters are dened to deal with this objective. These parameters are G
u
, G
r
and G
e
, where
deriv
(nT) = G
u
deriv(nT); G
r
rate
error(nT)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
RATE.n RATE.z RATE.p
rate(nT)
Fig. 42: Fuzzication algorithm for the inputs of the fuzzy controller, error(nT) and rate(nT).
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
DERIV.nl DERIV.ns DERIV.z DERIV.ps DEVIR.pl
deriv(nT)
Fig. 43: Fuzzication algorithm for the output of fuzzy PI-controller.
The last set of rules can be rewritten after applying fuzzication to input variables error(nT) and
rate(nT) as follows :
Rule 1:
deriv.nl
(deriv(nT)) = t [
error.n
(error(nT)),
rate.n
(rate(nT))]
Rule 2:
deriv.ns
(deriv(nT)) = s
_
t[
error.n
(error(nT)),
rate.z
(rate(nT))],
t[
error.z
(error(nT)),
rate.n
(rate(nT))]
_
Rule 3:
deriv.z
(deriv(nT)) = s
_
_
_
t[
error.n
(error(nT)),
rate.p
(rate(nT))],
t[
error.z
(error(nT)),
rate.z
(rate(nT))],
t[
error.p
(error(nT)),
rate.n
(rate(nT))]
_
_
_
Rule 4:
deriv.ps
(deriv(nT)) = s
_
t[
error.z
(error(nT)),
rate.p
(rate(nT))],
t[
error.p
(error(nT)),
rate.z
(rate(nT))]
_
Rule 5:
deriv.pl
(deriv(nT)) = t [
error.p
(error(nT)),
rate.p
(rate(nT))]
Defuzzication Algorithm
The principal values of the N = 3 sets of the fuzzy partitions error and rate are equally spaced and
fall within the interval [1, 1]. In the same way, there are 2N 1 sets of the fuzzy partition deriv, and
the range of the output deriv
L
(nT) will be restricted to [1, 1], subject to external scaling. The principal
value or centre of the i-th set of deriv is given by 1 + (i 1)/(N 1). The defuzzication is made
summing the principal values or centre of the sets of deriv weighted by their grades of membership
values
deriv
i
(deriv(nT)) as derived from the control rules (10).
deriv
L
(nT) =
2N1
i=1
deriv
i
(deriv(nT))
_
1 +
i 1
N 1
_
(68)
Fuzzy Systems Toolbox September 29, 1999 39
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
rate(nT)
e
r
r
o
r
(
n
T
)
0.75
0.5
0.25
0
0
0.25
0.5
0.75
Fig. 44: Characteristics of linear nonfuzzy PI-controller.
1
0.5
0
0.5
1
1
0.5
0
0.5
1
1
0.5
0
0.5
1
rate(nT)
error(nT)
d
e
r
i
v
(
n
T
)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
rate(nT)
e
r
r
o
r
(
n
T
)
0.75
0.5
0.25
0
0
0.25
0.5
0.75
Fig. 45: Characteristics of fuzzy PI-controller with rules evaluated using Zadeh-logic.
The value deriv
L
(nT) is integrated and scaled to obtain the actual controller output. If a member of
deriv has principal value zero, it does not need to be included in the control rules since its grade of
membership is multiplied by zero in the defuzzication procedure.
Rule Evaluation
The control rules will be evaluated using the Zadeh-logic. If
A
and
B
represent the grades of member-
ship of fuzzy sets A and B, respectively. The Zadeh-logic is dened as :
t[
A
,
B
] = min(
A
,
B
), s[
A
,
B
] = max(
A
,
B
) (69)
Characteristics of the fuzzy PI-controller with rules evaluated using Zadeh-logic are shown in gure
45. The control is linear in the second and fourth quadrants, but is hyperlinear in the rst and third
quadrants. In other words, the fuzzy PI-controller using Zadeh-logic gives greater output than the linear
nonfuzzy PI-controller.
In the same way, the rules will be evaluated using appropriate mixed fuzzy logics. Firstly, we use
the Zadeh-logic for Rule 1 and Rule 5, the Lukasiewicz-logic
1
for and of Rule 2 and Rule 4, and the
Lukasiewicz-logic for the or of Rule 2 and Rule 4. Finally, we use Lukasiewicz-logic for Rule 1 and Rule
5, Zadeh-logic for the and of Rule 2 and Rule 4, and Lukasiewicz-logic for the or of Rule 2 and Rule 4.
Results are shown in gure 46.
1
t[
A
,
B
] = max(0, (
A
+
B
) 1); s[
A
,
B
] = min(1,
A
+
B
)
Fuzzy Systems Toolbox September 29, 1999 40
1
0.5
0
0.5
1
1
0.5
0
0.5
1
1
0.5
0
0.5
1
rate(nT)
error(nT)
d
e
r
i
v
(
n
T
)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
rate(nT)
e
r
r
o
r
(
n
T
)
0.75
0.5
0.25
0
0
0.25
0.5
0.75
Fig. 46: Characteristics of fuzzy PI-controller with rules evaluated using appropriate mixed logic.
0 100 200 300 400 500 600 700 800 900 1000
0
0.2
0.4
0.6
0.8
1
1.2
1.4
O
u
t
p
u
t
time (sec)
Fuzzy PI
PI
0 100 200 300 400 500 600 700 800 900 1000
0
0.2
0.4
0.6
0.8
1
1.2
1.4
O
u
t
p
u
t
time (sec)
Fuzzy PI
PI
Fig. 47: Response of the coupled tanks under control of a fuzzy PI-controller with rules evaluated using
appropriate mixed logic (left) and Zadeh-logic (right).
Computer Simulation Results
A second-order process model was employed to determine the control performance of the fuzzy PI-
controller. This model describes the coupled tanks apparatus available in the laboratory of the Control
Systems Centre (1). The transfer function, assuming a steady state operating condition with a pump
ow rate of 900cm
3
/min, is given as follows :
G(s) =
1
2.37
1149.293 s
2
+ 111.834 s + 1
(70)
The fuzzy PI-controller was set to equal the proportional gain K
p
and the integral gain K
i
of the discrete
PI-controller. In other word, K
p
= 0.5 G
r
G
u
and K
i
= 0.5 G
e
G
u
. The provided proportional-gain
and integral-gain were calculated to set the integral action time constant to 50sec and to give a closed
loop damping factor of = 0.7 (1).
The result of the fuzzy PI-controller using appropriate mixed fuzzy logics is shown in gure 47, and
no dierence in control performance between the discrete PI-controller and the fuzzy PI-controller can
be observed. However, the fuzzy PI-controller using Zadeh-logic shows a little dierence in control
performance. The hyperlinear control furnished in rst and third quadrants might well be a desirable
characteristic.
Figure 48 illustrates the trajectory described by the fuzzy controller inputs, error(nT) and rate(nT),
and provides an alternative way to observe how much the controlled system could be aected by the
Fuzzy Systems Toolbox September 29, 1999 41
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
rate(nT)
e
r
r
o
r
(
n
T
)
0.75
0.5
0.25
0
0
0.25
0.5
0.75
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
rate(nT)
e
r
r
o
r
(
n
T
)
0.75
0.5
0.25
0
0
0.25
0.5
0.75
Fig. 48: This gures combine the characteristic of fuzzy PI-controller with rules evaluated using appro-
priate mixed logic (left) and Zadeh-logic (right), and the trajectory described by the fuzzy controller
inputs, error(nT) and rate(nT).
nonlinearity of the fuzzy PI-controller.
5.3 Fuzzy PI-controller with Nonlinear Defuzzication
The relationship between a PI-controller and a smallest possible fuzzy PI-controller, consisting of two
inputs, rate of change of error and error, one output and four fuzzy control rules, will be established. The
fuzzy partitions rate and error have two fuzzy sets, and the fuzzy partition for controller output has
three fuzzy sets. We will focus on the nonlinearity introduced by the defuzzication algorithm, and prove
theoretically that a fuzzy controller with a nonlinear defuzzication algorithm is precisely equivalent to
a nonlinear PI-controller, where proportional gain and integral gain change with error and rate inputs.
Description of the Fuzzy PI-controller
In general, fuzzy PI-controllers employ error and rate about a setpoint as their inputs, as shown in the
block diagram 58. The following notation will be used :
error
(nT) (72)
rate
(nT) =
error
(nT) error
((n 1)T)
T
(73)
rate(nT) = G
r
rate
(nT) (74)
deriv
(nT) = G
u
deriv(nT) (75)
u(nT) = T deriv
(nT), rate
((n 1)T) and u((n 1)T) are the error and the output from the fuzzy PI-controller at sampling
time (n 1)T, respectively. G
e
(gain for error) is the input scaler for error, G
r
(gain for rate) is the input
scaler for rate, and G
u
(gain for controller output) is the output scaler of the fuzzy PI-controller. The
deriv
(nT) designates the incremental output of fuzzy PI-controller at sampling time nT. The deriv(nT)
denotes the incremental output of the fuzzy PI-controller from defuzzifying the output fuzzy set, deriv,
at sampling time nT.
Fuzzy Systems Toolbox September 29, 1999 42
uod Rate
uod Error
ZeroOrder
Hold1
ZeroOrder
Hold
uod_Error
To Workspace4
uod_Rate
To Workspace3
FC_output
To Workspace2
Output_H2
To Workspace1
Sum2
Sum1
Sum
Step
fuzzy_pi_li1_s
SFunction
Output H2
Mux
Mux1
Mux
Mux
7.5
Kp
0.15
Ki
15
Gu
1
Gr=
Kp/(0.5*Gu)
0.02
Ge=
Ki/(0.5*Gu)
FC output
T(z+1)
2(z1)
DiscreteTime
Integrator1
Tz
z1
DiscreteTime
Integrator
1z
1
1
Discrete
Filter1
1/2.37
1149.293s +111.834s+1
2
Coupled tanks1
1/2.37
1149.293s +111.834s+1
2
Coupled tanks
Fig. 49: Block diagram shows the coupled tanks model under control of a fuzzy PI-controller and a
discrete PI-controller. The block diagram is implemented in SIMULINK
TM
using the Fuzzy System
Toolbox (FSTB) (13).
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1 ERROR.n ERROR.p
error(nT)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1 RATE.n RATE.p
rate(nT)
Fig. 50: Fuzzication algorithm for the inputs of the fuzzy controller, error(nT) and rate(nT).
Fuzzication Algorithm and Fuzzy Control Rules
The fuzzy sets of error will be named error.p (positive) and error.n (negative), and the fuzzy sets of
rate will be named rate.p and rate.n. The fuzzy partitions for the variables error(nT) and rate(nT),
are shown in gure 50. The denition of the fuzzy partition deriv is shown in gure 51. deriv has three
sets, deriv.p (positive), deriv.z (zero) and deriv.n (negative).
There are four linear fuzzy control rules used in the fuzzy PI-controller :
Rule 1: IF error(nT) is error.n AND rate(nT) is rate.n THEN deriv(nT) is deriv.n
Rule 2: IF error(nT) is error.n AND rate(nT) is rate.p THEN deriv(nT) is deriv.z
Rule 3: IF error(nT) is error.p AND rate(nT) is rate.n THEN deriv(nT) is deriv.z
Rule 4: IF error(nT) is error.p AND rate(nT) is rate.p THEN deriv(nT) is deriv.p
Defuzzication Algorithm
The centre average defuzzier is the nonlinear defuzzication algorithm used. It amounts to a normal-
ization of the membership values of the fuzzy set being defuzzied. The principal value or centre of the
i-th fuzzy set of deriv is given by 1 + (i 1)/(N 1), and the grades of membership values derived
Fuzzy Systems Toolbox September 29, 1999 43
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
DERIV.n DERIV.z DERIV.p
deriv(nT)
Fig. 51: Fuzzication algorithm for the incremental output of fuzzy controller.
IC3
IC4
IC1 IC2
IC8
IC7
IC6 IC5
Gr * rate(nT)
Ge * error(nT)
RATE.n
RATE.n
RATE.n
ERROR.n
ERROR.n
RATE.n
ERROR.n
ERROR.n RATE.n
RATE.n
RATE.n
RATE.n
ERROR.p
ERROR.p
ERROR.p
ERROR.p
ERROR.n
ERROR.n
ERROR.n
ERROR.n
RATE.p
RATE.p
RATE.p
RATE.p
RATE.p
RATE.p
ERROR.p
ERROR.p
ERROR.p
ERROR.p
RATE.p
RATE.p
Rule 1 Rule 2 Rule 3 Rule 4
IC1
IC2
IC3
IC4
IC5
IC6
IC7
IC8
Fig. 52: Results of evaluating the fuzzy control rules for all combinations of inputs using Zadeh-and.
from the control rules, are given by
deriv
i
(deriv(nT)). So, the defuzzied output of the fuzzy partition
deriv is dened as (12).
deriv
NL
(nT) =
2N1
i=1
deriv
i
(deriv(nT))
_
1 +
i1
N1
_
2N1
i=1
deriv
i
(deriv(nT))
(77)
The nonlinearity is introduced into the defuzzication algorithm by the denominator.
A Fuzzy PI-controller and a Nonlinear Nonfuzzy PI-controller
The fuzzy logic will be Zadeh-logic for evaluation of the fuzzy control rules. Since Zadeh-and is the
minimum of two values, two dierent conditions arise for each rule; one when the membership value
of error(nT) is less than the membership value of rate(nT), and one when the membership value of
rate(nT) is less than the membership value of error(nT). The eight dierent combinations of error(nT)
and rate(nT) constituting the inputs to the control rules are shown in gure 52, where IC is the Input
Combination of error(nT) and rate(nT).
We can show that the fuzzy PI-controller is a conventional nonlinear nonfuzzy PI-controller with changing
proportional and integral gains. The results of evaluating the fuzzy control rules Rule 1, Rule 2, Rule
3, and Rule 4 using Zadeh-and are given in gure 52.
error.p
and
error.n
(
rate.p
and
rate.n
) mean
the membership values of error.p and error.n (rate.p and rate.n) in the fuzzy sets error (rate).
Notice that
error.p
(error(nT)) =
error(nT) + 1
2
=
G
e
error
(nT) + 1
2
(78)
Fuzzy Systems Toolbox September 29, 1999 44
error.n
(error(nT)) =
error(nT) + 1
2
=
G
e
error
(nT) + 1
2
(79)
rate.p
(rate(nT)) =
rate(nT) + 1
2
=
G
r
rate
(nT) + 1
2
(80)
rate.n
(rate(nT)) =
rate(nT) + 1
2
=
G
r
rate
(nT) + 1
2
(81)
When the Zadeh-or is used for the membership values of the member deriv.z in Rule 2 and Rule 3,
deriv
NL
(nT) can be described by the following equations obtained from the nonlinear defuzzication
algorithm deriv
NL
(nT) :
IC1 and IC2
deriv
NL
(nT) =
(1)
error.n
+ (1)
rate.p
error.n
+
rate.n
+
rate.p
=
G
e
error
(nT) +G
r
rate
(nT)
3 G
e
error
(nT)
(82)
IC3 and IC4
deriv
NL
(nT) =
(1)
rate.n
+ (1)
error.p
rate.n
+
error.n
+
error.p
=
G
r
rate
(nT) +G
e
error
(nT)
3 G
r
rate
(nT)
(83)
IC5 and IC6
deriv
NL
(nT) =
(1)
rate.n
+ (1)
error.p
rate.n
+
rate.p
+
error.p
=
G
r
rate
(nT) +G
e
error
(nT)
3 +G
e
error
(nT)
(84)
IC7 and IC8
deriv
NL
(nT) =
(1)
error.n
+ (1)
rate.p
error.n
+
error.p
+
rate.p
=
G
e
error
(nT) +G
r
rate
(nT)
3 +G
r
rate
(nT)
(85)
If G
r
| rate
(nT) | G
e
| error
(nT) | 1
deriv
NL
(nT) =
G
e
error
(nT) +G
r
rate
(nT)
3 G
e
| error
(nT) |
(86)
If G
e
| error
(nT) | G
r
| rate
(nT) | 1
deriv
NL
(nT) =
G
e
error
(nT) +G
r
rate
(nT)
3 G
r
| rate
(nT) |
(87)
The fuzzy PI-controller is precisely equivalent to a linear nonfuzzy PI-controller with proportional gain
K
p
= 0.5 G
u
G
r
and the integral gain K
i
= 0.5 G
u
G
e
, and
deriv
(nT) = K
p
rate
(nT) +K
i
error
(nT) (88)
if the linear defuzzication algorithm is employed.
Fuzzy Systems Toolbox September 29, 1999 45
1
0.5
0
0.5
1
1
0.5
0
0.5
1
1
0.5
0
0.5
1
rate(nT)
error(nT)
d
e
r
i
v
(
n
T
)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
rate(nT)
e
r
r
o
r
(
n
T
)
0.75
0.5
0.25
0
0
0.25
0.5
0.75
Fig. 53: Characteristics of fuzzy PI-controller with control rules evaluated using Zadeh-logic and centre
average defuzzier.
Comparing equation (88) with equations (86) and (87), it is obvious that the fuzzy PI-controller with
Zadeh-logic and centre average defuzzication is a nonlinear PI-controller with K
p
and K
i
changing with
error
(nT) |
(89)
K
i
=
G
e
G
u
3 G
e
| error
(nT) |
(90)
when G
r
| rate
(nT) | G
e
| error
(nT) | 1, and
K
p
=
G
r
G
u
3 G
r
| rate
(nT) |
(91)
K
i
=
G
e
G
u
3 G
r
| rate
(nT) |
(92)
when G
e
| error
(nT) | G
r
| rate
(nT) | 1.
The static proportional gain K
p
S
and static integral gain K
i
S
are dened as the proportional gain and
the integral gain when both error
(1 e
0.1
)z
1
1 e
0.1
z
1
=
0.0952
z
2
(z 0.9048)
(95)
The digital PI-controller has the following pulse transfer function :
G
D
(z) = K
p
D
+K
i
D
1
1 z
1
= (K
p
D
+K
i
D
)
z
K
p
D
K
p
D
+K
i
D
z 1
(96)
The open-loop pulse transfer function becomes
G
D
(z) G(z) = (K
p
D
+K
i
D
)
z
K
p
D
K
p
D
+K
i
D
z 1
0.0952
z
2
(z 0.9048)
(97)
The open-loop poles in the z plane are shown in gure 55. There is one open-loop zero involved in this
case, but its location is unknown at this point. The desired closed-loop pole location can be determined
as follows (8) :
| z | = exp
_
2
_
1
2
w
d
w
s
_
(98)
z = 2
w
d
w
s
(99)
Since it is required to have 20 samples per cycle of damped sinusoidal oscillation, the dominant closed-
loop pole in the upper half of the z plane must lie on a line from the origin having an angle of
z = 2
w
d
w
s
= 2/20 = 0.3142 = 18
2 0.5
1 0.5
2
1
20
_
= 0.8341 (100)
Fuzzy Systems Toolbox September 29, 1999 47
The closed-loop pole is located at point P in gure 55, where
z = 0.8341 18
18
113.39
128.72
+ = 180
(102)
= 98.11
(103)
This means that the zero of the digital controller must be located at z = 0.8300. Therefore
K
p
D
K
p
D
+K
i
D
= 0.8300 (104)
Hence the PI-controller is determined as follows :
G
D
(z) = K
z 0.8300
z 1
(105)
where K = K
p
D
+K
i
D
. Gain constant K is determined from the magnitude condition :
1 K
z 0.8300
z 1
0.0952
z
2
(z 0.9048)
z=0.7933+j0.2578
= 0 (106)
K = K
p
D
+K
i
D
= 2.6050 (107)
K
p
D
= 2.1621 (K
p
= 2.3835) (108)
K
i
D
= 0.4429 (K
i
= 4.4290) (109)
The rst-order process with time delay described above was employed to determine the control perfor-
mance of the fuzzy PI-controller. The fuzzy PI-controller produced less overshoot than the PI-controller,
as shown in gure 56. The static proportional gain K
p
S
and the static integral gain K
i
S
of the fuzzy
PI-controller were set to equal the proportional gain K
p
and the integral gain K
i
, respectively, of the
discrete PI-controller. In other words, K
p
=
G
r
G
u
3
= 2.3835 and K
i
=
G
e
G
u
3
= 4.4290.
To compare the PI-controller to the fuzzy PI-controller using the nonlinear defuzzication deriv
NL
(nT),
the PI-controller can be expressed by the following equation
deriv
PI
(nT) =
K
p
G
u
rate
(nT) +
K
i
G
u
error
(nT)
=
G
r
rate
(nT) +G
e
error
(nT)
3
(110)
If equation (110) is compared with equations (86) and (87), it is obtained the following inequalities (14) :
1
3 G
e
error
(nT)
1
3
(111)
when G
r
| rate
(nT) | G
e
| error
(nT) | 1, and
1
3 G
r
rate
(nT)
1
3
(112)
when G
e
| error
(nT) | G
r
| rate
(nT) | 1 and G
r
| rate
(nT) = 0, | deriv
NL
(nT) |=| deriv
PI
(nT) |. Otherwise,
| deriv
NL
(nT) | > | deriv
PI
(nT) |.
The larger | error
(nT) | (| rate