x=-1:0.1:1;
y=[-0.96 -0.577 -0.073 0.377 0.641 0.660 0.461 ...
0.134 -0.201 -0.434 -0.5 -0.393 -0.165 0.099 ...
0.307 0.396 0.345 0.182 -0.031 -0.219 -0.32];
pr=[-1 1]; %domeniu de variatie al intrarii
m1=5;m2=1; m3=3; % nr de neuroni in cele 2 straturi m1,m2
%arhitectura retelei: doua straturi, functiile de activare pentru
%neuronii celor 2 straturi: logsig si respectiv purelin
net_ff=newff(pr,[m1 m2 m3],{'purelin','logsig','purelin'});
net_ff=init(net_ff); %initializare cu val aleatoare mici
net_ff.trainParam.goal=0.005; %toleranta admisa
net_ff.trainParam.epochs = 20; %setare nr maxim de epoci
%Antrenare
net=train(net_ff,x,y);
%Simularea comportarii retelei (dupa antrenare)
x_sim=-1:0.01:1;
y_nn = sim(net,x_sim);
%Afisare comparativa
figure,
plot(x,y,'+');hold on;
plot(x_sim,y_nn,'r-');hold off;
net.IW{1,1}
net.LW{2,1}
net.b{1}