% Hopfieldova sí� - implementace v Matlabu

T = [-1,-1,1,1;1,-1,1,-1]';

% vytvoreni "Hopfieldovy" site
net = newhop(T);

% matice vah a prahu
net.LW{1,1}
net.b{1,1}

% výstup sítì ... jedna iterace:
Ai = T;
[Y,Pf,Af] = sim(net,2,[],Ai); % 2 ... pocet vzoru

Ai = [-1,0,1,1]';
[Y,Pf,Af] = sim(net,1,[],Ai);
% Y
% Af

% pokud chci pustit více iterací
Ac = {[-1,0,1,1]'};
[Y,Pf,Af] = sim(net,{1 5},{},Ac); % 1 ... pocet vzoru, 5 ... pocet iteraci
% Af{1,1} ... vysledek
% Y{1,2} ... vysledek po dvou iteracich

 Ac = {[-1,0,1,1;-1,1,-1,1]'};
[Y,Pf,Af] = sim(net,{2 5},{},Ac); % 2 ... pocet vzoru, 5 ... pocet iteraci
 Af{1,1} % ... vysledek
 %Y{1,2} %... vysledek po dvou iteracich
 
 % falešné stabilní stavy
Ac = {[0,0,0,0]'};
[Y,Pf,Af] = sim(net,{1 10},{},Ac); % 1 ... pocet vzoru, 5 ... pocet iteraci
% Af{1,1} ... vysledek
% Y{1,2} ... vysledek po dvou iteracich


