clc NNTWARN OFF % closr all warnings of neural network % expecting output T=[481 463 447 471 459 444 440 415 420 474 493 508 512 541 547 548 545 535 531 535 524 568 542 526]; T = T -mean(T); T = T / norm(T); % input P=1:24; %P = P - mean(P); %P = P / max(abs(P)); %size of input layer [size1,temp]=size(P); %size of output layer [size3,temp]=size(T); % statistics method: regression UseS= 0 if UseS n = 12; p=polyfit(P,T,n); plot(P,T,'+',P,polyval(p,P)); pause end UseNN=1 if (UseNN) %size of hidden layer size2 = 8; %initial value % [W1,B1]=nwtan(size2,size1) [W1,B1]=rands(size2,size1) [W2,B2]=rands(size3,size2); % [W2,B2]=nwtan(size3,size2) % [W1,B1,W2,B2]=initff(P,size2,'logsig',size3,'logsig'); disp_fqre = 200; %display frequence max_epoch = 10000; err_goal = 0.05; % error goal lr = 0.01; % learning rate TP=[disp_fqre max_epoch err_goal lr]; % [W1,B1,W2,B2,epochs,error] = trainbpx(W1,B1,'logsig',W2,B2,'logsig',P,T,TP); [W1,B1,W2,B2,epochs,error] = trainbpx(W1,B1,'tansig',W2,B2,'tansig',P,T,TP); % [W1,B1,W2,B2,epochs,error] = trainbpx(W1,B1,'tansig',W2,B2,'purelin',P,T,TP); %test % x is test input %A1 = tansig(W1*x,B1); %A2 is output %A2 = purelin(W2*A1,B2); %draw error figure ploterr(error); end