Minggu, 30 Mei 2010

Tugas ke 4, Program JST Pengenalan Pola

clc;
clear all;


disp(' PROGRAM PENGENAL POLA');
disp(' LINGKARAN, PERSEGI, DAN SEGITIGA');
disp('---------------------------------------------');
disp(' ');
disp('Kelompok 15-B');
disp(' ');
disp('1.Bayu Sasongko');
disp('2.Gigih Triyoga');
disp('3.M. Ridho');
disp('4.Tuntas Erdeka');
disp('5.Ujang Faturohman');

disp('Masukan input pola dalam digit 1 atau 0 dalam bentuk matrix');
disp('Contoh :');
disp('X = [1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1]');
disp('sehingga dalam bentuk matrix 5 x 5 adalah :');
disp('[1 1 1 1 1');
disp(' 1 0 0 0 1');
disp(' 1 0 0 0 1');
disp(' 1 0 0 0 1');
disp(' 1 1 1 1 1]');
disp(' ');
disp(' ');
disp('Silahkan Masukan Pola :');
X = input ('X = ');

w = [0.1 -0.5 0.3 0.4 -0.2;
0.3 -0.1 -0.4 -0.4 -0.2;
0.3 -0.1 -0.2 0.4 0.5;
0.4 0 0.2 0.4 0;
0.3 -0.2 -0.3 -0.4 0.1;
0.3 0 0.3 0 -0.3;
-0.3 -0.2 0.2 -0.5 -0.4;
0.1 -0.1 -0.2 -0.2 0.4;
-0.7 -0.5 0.5 0 0.1;
-0.8 -0.9 -0.5 -0.5 -0.1;
-0.4 -0.1 -0.1 -0.3 -0.4;
-0.3 -0.4 -0.4 0.4 0.2;
1 0.5 0.5 0.5 0.5;
-0.5 0.2 0.2 -0.1 0.2;
-0.3 -0.3 -0.4 0.3 0.5;
0.5 0.5 0.1 0.1 -0.4;
-0.5 0.5 0 -0.2 0;
-0.1 -0.4 0 0 0;
-0.2 -0.3 0.1 0.2 0.2;
0.1 -0.3 -0.3 -0.1 -0.3;
0.5 0.3 -0.3 0.1 -0.5;
0.1 -0.1 0.4 -0.5 0.4;
0.2 0 0.1 0.2 -0.4;
-0.2 0 0.4 -0.3 -0.5;
-0.2 0.3 0.2 0.1 -0.2];

h = X*w;

hA = mat2cell(h,[1],[1 1 1 1 1]);

HA = cell2mat(hA(1));
HB = cell2mat(hA(2));
HC = cell2mat(hA(3));
HD = cell2mat(hA(4));
HE = cell2mat(hA(5));

H1 = sigmf (HA,[1 0]);
H2 = sigmf (HB,[1 0]);
H3 = sigmf (HC,[1 0]);
H4 = sigmf (HD,[1 0]);
H5 = sigmf (HE,[1 0]);

fH = [H1 H2 H3 H4 H5];

v =[0.4 0.5 0.7 0.8 0.5;
0.5 0.1 -0.5 0.5 0.7;
0.4 -0.3 -0.3 -0.4 -0.4;
-0.4 -0.3 -0.1 -0.2 -0.9;
0.2 0.5 -0.2 0.6 -0.1];

V = fH*v;

i = mat2cell(V,[1],[1 1 1 1 1]);

VA = cell2mat(i(1));
VB = cell2mat(i(2));
VC = cell2mat(i(3));
VD = cell2mat(i(4));
VE = cell2mat(i(5));

V1 = sigmf (VA, [1 0]);
V2 = sigmf (VB, [1 0]);
V3 = sigmf (VC, [1 0]);
V4 = sigmf (VD, [1 0]);
V5 = sigmf (VE, [1 0]);

fV = [V1 V2 V3 V4 V5];
u = [0.3;0.2;0.15;0.1;-0.5];

U = fV*u*1000;
Y = int32(U);
disp ('Y :');
disp (Y);

if Y == 190
disp('Bentuk pola anda berupa persegi');
elseif Y ==193
disp('Bentuk pola anda berupa persegi');
elseif Y ==198
disp('Bentuk pola anda berupa persegi');
elseif Y ==234
disp('Bentuk pola anda berupa persegi');
elseif Y ==173
disp('Bentuk pola anda berupa persegi');
elseif Y ==205
disp('Bentuk pola anda berupa persegi');
elseif Y ==189
disp('Bentuk pola anda berupa lingkaran');
elseif Y == 227
disp('Bentuk pola anda berupa segitiga');
elseif Y == 196
disp('Bentuk pola anda berupa segitiga');
elseif Y == 195
disp('Bentuk pola anda berupa segitiga');
end;

Hasilnya berupa:

0 komentar: