% Podane zbiory rozmyte A i B
A = [0.3; 1; 0.7; 2; 0.5; 3; 0.8; 4];
B = [0.5; -2; 0.4; -1; 1.0; 0; 0.7; 2; 0.6; 3];
% Definicja funkcji f(x)
f1 = @(x) 2*x + 1;
f2 = @(x) (x - 2)^2 + 5;
f3 = @(x, y) x*y;
f4 = @(x, y) (x - 3)*y^2;
% Obliczenie zbioru rozmytego C dla każdej funkcji
C1 = zeros(length(A)/2, 1); % Dla funkcji jednowymiarowych
C2 = zeros(length(A)/2, 1); % Dla funkcji dwuwymiarowych
for i = 1:length(C1)
x = A(2*i - 1); % Wartość x z A
mu_A = A(2*i); % Stopień przynależności do A
mu_B = B(2*i); % Stopień przynależności do B
% Obliczenie stopnia przynależności do C dla funkcji f1
C1(i) = min(mu_A, interp1(B(1:2:end), B(2:2:end), f1(x), 'linear'));
% Obliczenie stopnia przynależności do C dla funkcji f2
C2(i) = min(mu_A, interp1(B(1:2:end), B(2:2:end), f2(x), 'linear'));
end
% Wyświetlenie wyników
disp('Zbiór rozmyty C dla funkcji f(x) = 2x + 1:');
disp([A(1:2:end), C1]);
disp('Zbiór rozmyty C dla funkcji f(x) = (x - 2)^2 + 5:');
disp([A(1:2:end), C2]);
% Obliczenie zbioru rozmytego C dla funkcji f3 i f4
C3 = zeros(length(A)/4, 1); % Dla funkcji dwuwymiarowych
C4 = zeros(length(A)/4, 1); % Dla funkcji dwuwymiarowych
for i = 1:length(C3)
x = A(4*i - 3); % Wartość x z A
y = A(4*i - 2); % Wartość y z A
mu_A = A(4*i); % Stopień przynależności do A
mu_B = B(4*i); % Stopień przynależności do B
% Obliczenie stopnia przynależności do C dla funkcji f3
C3(i) = min(mu_A, interp1(B(1:2:end), B(2:2:end), f3(x, y), 'linear'));
% Obliczenie stopnia przynależności do C dla funkcji f4
C4(i) = min(mu_A, interp1(B(1:2:end), B(2:2:end), f4(x, y), 'linear'));
end
% Wyświetlenie wyników
disp('Zbiór rozmyty C dla funkcji f(x, y) = xy:');
disp([A(1:4:end), A(2:4:end), C3]);
disp('Zbiór rozmyty C dla funkcji f(x, y) = (x - 3)y^2:');
disp([A(1:4:end), A(2:4:end), C4]);
Paste Hosted With By Wklejamy.pl