% Compositional rule of inference
% Copyright by Jyh-Shing Roger Jang, 6-2-93.
% (Tested on Matlab version 4.0a, HP workstation)
n = 31; m = 31;
x = linspace(0, 10, n)';
y = linspace(0, 40, m)';
coef = [-0.5; 8; 0];
y_val = polyval(coef, x);
subplot(221);
plot(x,y_val);
xlabel('X'); ylabel('Y'); title('A Crisp Relation');
z1 = zeros(m, n); z2 = zeros(m, n);
for i=1:n,
a = 4; b = 3; c = y_val(i);
z1(:, i) = gbell_mf(y, [a, b, c]);
end
for i=1:n,
a = 1; b = 3; c = 5;
z2(i,:) = gbell_mf(x', [a, b, c]);
end
subplot(222);
pcolor(x, y, z1);
shading interp;
colormap(gray);
xlabel('X'); ylabel('Y'); title('A Fuzzy Relation');
figure;
subplot(221);
mesh(x, y, z1)
set(gca, 'box', 'on');
view(-20, 60);
xlabel('X'); ylabel('Y'); zlabel('Membership Grades');
title('(a) Fuzzy Relation F on X and Y');
subplot(222);
mesh(x, y, z2)
set(gca, 'box', 'on');
view(-20, 60);
xlabel('X'); ylabel('Y'); zlabel('Membership Grades');
title('(b) Cylindrical Extension of A');
colormap('default');
intersection = min(z1, z2);
subplot(223);
mesh(x, y, min(z1, z2))
set(gca, 'box', 'on');
view(-20, 60);
xlabel('X'); ylabel('Y'); zlabel('Membership Grades');
title('(c) Minimum of (a) and (b)');
projection = intersection;
for i = 1:m,
maximum = -10e6;
for j=n:-1:1,
if (projection(i,j) > maximum)
maximum = projection(i,j);
else
projection(i,j) = maximum;
end
end
end
subplot(224);
mesh(x, y, projection)
set(gca, 'box', 'on');
view(-20, 60);
xlabel('X'); ylabel('Y'); zlabel('Membership Grades');
title('(d) Projection of (c) onto Y');