Professional Documents
Culture Documents
Domaci Pedja: For For If End End End
Domaci Pedja: For For If End End End
m = 4;
n = 5;
b = 1008;
a = sqrt(b);
max = A(1,1);
for i = 1:m
for j = 1:n
k = A(i,j);
if k > max
max = k;
end
end
end
MAX_A = max
%
for i = 1:m
for j = 1:n
k = A(i,j);
if k == max
pozicija_MAX_A = [i j]
end
end
end
%
%
min = A(1,1);
for i = 1:m
for j = 1:n
k = A(i,j);
if k < min
min = k;
end
end
end
MIN_A = min
%
for i = 1:m
for j = 1:n
k = A(i,j);
if k == min
pozicija_MIN_A = [i j]
end
end
end
% Zadatak 1_2
for i = 2:b
n(i) = n(i-1) + k;
end
n
%
k = [];
for i = 7:7:100
k(i) = n(i);
end
k;
%
S = sum (k) % sabira sve clanove
% niza(vektora) k
% Zadatak 1_3
for i = 3:n
f(i) = f(i-1) + f(i-2);
end
f
% Zadatak 1_4
% compet
figure (1)
neti = -10:0.1:10; % od -10 do 10 sa korakom 0.1
f_neti = compet (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('COMPET')
% hardlim
figure (2)
neti = -10:0.1:10;
f_neti = hardlim (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('HARDLIM')
% hardlims
figure (3)
neti = -10:0.1:10;
f_neti = hardlims (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('HARDLIMS')
% logsig
figure (4)
neti = -10:0.1:10;
f_neti = logsig (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('LOGSIG')
% netinv
figure (5)
neti = -10:0.1:10;
f_neti = netinv (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('NETINV')
% poslin
figure (6)
neti = -10:0.1:10;
f_neti = poslin (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('POSLIN')
% purelin
figure (7)
neti = -10:0.1:10;
f_neti = purelin (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('PURELIN')
% radbas
figure (8)
neti = -10:0.1:10;
f_neti = radbas (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('RADBAS')
% satlin
figure (9)
neti = -10:0.1:10;
f_neti = satlin (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('SATLIN')
% satlins
figure (10)
neti = -10:0.1:10;
f_neti = satlins (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('SATLINS')
% softmax
figure (11)
neti = -10:0.1:10;
f_neti = softmax (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('SOFTMAX')
% tansig
figure (12)
neti = -10:0.1:10;
f_neti = tansig (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('TANSIG')
% tribas
figure (13)
neti = -10:0.1:10;
f_neti = tribas (neti);
plot(neti,f_neti, 'c', 'linewidth', 3)
xlabel ('net_i')
ylabel('f(net_i)')
axis equal
grid on
title ('TRIBAS')
% Zadatak 2
% Obucavanje vestacke neuronske mreze - VNM
% graficki prikaz
plot (i, o, 'c', 'linewidth', 5)
hold on
plot (i, y, 'r', 'linewidth', 2)
xlabel ('Ulazne vrednosti - i')
ylabel ('Izlazne vrednosti - o')
title ('REZULTATI TESTIRANJA VNM')
legend (' Grafik dobijen funkcijom', ' Grafik dobijen obucavanjem VNM')
grid on
% Zadatak 1
% Perceptron
% obucavajuci parovi
x1 = [1 2]'; x2 = [-1 2]'; x3 = [0 -1]'; % ' znaci da je transponovana matrica
o1 = 1; o2 = 0; o3 = 0;
% vektor ulaznih vrednosti
x = [x1 x2 x3];
% vektor izlaznih vrednosti
o = [o1 o2 o3];
% obucavanje mreze
net = train(net, x, o);
% PERCEPTRON
% Obucavajuci parovi
x1 = [1 2]'; x2 = [-1 2]'; x3 = [0 -1]';
o1 = 1; o2 = 0; o3 = 0;
% vektor ulaznih velicina
X = [x1 x2 x3]
% vektor izlaznih velicina
O = [o1 o2 o3]
% vektor tezinskih odnosa
W=[1 -0.8];
% parametar ucenja
n=1;
for i = 1:length(O)
a(i) = W*X(:,i);
if a(i)<0
a(i)=0;
else a(i)=1;
end
end
while a(i)~=O(i)
for i = 1:length(O)
a(i) = W*X(:,i);
if a(i)<0
a(i)=0;
else a(i)=1;
end
W = W + n*(O(i)-a(i))*X(:,i)';
end
end
a
W
Kolokvijum
clc; clear; close all;
%Kinematicke jednacine robota za predjeni put tockova
% Za zadati predjeni put robota izracunavaju se X,Y i O kooridante
Orje_K2(xk(1,1),xk(2,1),xk(3,1),b);
x(k+1)=x(k)+Dx;
y(k+1)=y(k)+Dy;
t(k+1)=t(k)+Dt;
end
if xk(2,1)>xk(2,end)
ymax=xk(2,1)+2*b;
ymin=xk(2,end)-2*b;
else
ymax=xk(2,end)+2*b;
ymin=xk(2,1)-2*b;
end
%Crtanje
for k=1:e
end
---------------------------------------------------------------
clc; close all; clear all;
net= newff(x,y,[5,5],{'logsig','logsig'},'trainlm');
%10,4 broj neurona;
%logsig logsig aktivacione(sigmoidna) funkcije za svaki sloj
%trainlm-algoritam obucavanja
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% OVDE SE NALAZE AKTIVACIONE FUNKCIJE
% help nntransfer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ovde se nalaze Algoritmi obucavanja
% help nntrain
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Parametri treniranja
net.trainParam.show = 30;
net.trainParam.lr = 0.2; % eta
net.trainParam.epochs = 100000; % broj interacija
net.trainParam.goal = 1e-5; % greska
%Initialise training
net = train(net,x,y);
% crtanje
plot(x,ym,'m');
xlabel('x ')
ylabel('y')
grid on
title('f(x)')
hold on;
plot(x,y,'ro');
x=[0,0;0,1;1,0;1,1];
W=[rand-0.5,rand-0.5];
i=0;
interacija=0;
while(1)
interacija=interacija+1;
if i==3
i=0;
end
i=i+1;
a1=W*x(i,:)';
if a1>0
a1=1;
else
a1=0;
end
W=W+eta*(y(i)-a1);
a11=W*x(1,:)';
a12=W*x(2,:)';
a13=W*x(3,:)';
a14=W*x(4,:)';
if a11>0
a11=1;
else
a11=0;
end
if a12>0
a12=1;
else
a12=0;
end
if a13>0
a13=1;
else
a13=0;
end
if a14>0
a14=1;
else
a14=0;
end
if a11==y(1)
if a12==y(2)
if a13==y(3)
if a14==y(4)
break;
end
end
end
end
end
%ZZ5 geneticki
function y = Zadatak_5(x)
y = x(1).^2+x(2).^2+x(3).^2
end
1. Model kretanja 30 iteracija; pozicija i orientacija, predjeni put; Vektor stanja P
= [x0, y0, teta0] = [10 10 90stepeni].
Usvojiti da upravljacka velicina podleze gausovoj raspodeli predjenog puta levog i
desnog tocka = 0.5 a varijansa = 0.1, rastojanje izmedju tockova b=12, poluprecnik
tocka r=3 dobijene rezultate prikazati graficki.
- A(10,10)
- B(20,20)
- C(30,30)
- D(40,20)
- E(30,10)
5. Primenom GA toolbox-a odrediti optimum funkcije f(x) = SUM (Xi^2) i=1:n, n=3.
-----------------------------------------------------------------------------
function y = gat(x)
frac1 = 1 + cos(12*sqrt(x(1)^2+x(2)^2));
frac2 = 0.5*(x(1)^2+x(2)^2) +2 ;
y = -frac1./frac2;
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
function y = funkcija_y(x)
y = x(1)^2 - x(2)^2;
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
function y = funkcija(x)
y = x(1)^2 + x(2)^2 + x(3)^2
end