close all; clear all; % Imposta i parametri della rete Ninp=2; %Numero input (non modificabile) Nhid=50; %Numero neuroni nello strato nascosto Nout=1; %Numero di output (non modificabile) N=50; %Il no. totale di dati sara' N x N % Genera dati di input (griglia equispaziata sull'intervallo [-2,2]) x1 =linspace(-2,2,N); x2 = x1; [X1,X2]=meshgrid(x1,x2); %Crea griglia delle coppie di valori (x1,x2) X=[X1(:) X2(:)]; %Crea matrice dei dati di input (N^2 x 3) %%%%%%%%%%%%%%%%%%%%%%%%%% % Definisci struttura rete %%%%%%%%%%%%%%%%%%%%%%%%%% % Crea matrice Nimpx2 di valori minimi e massimi degli Nimp input mn_mx_inp=minmax(X'); % Crea rete neurale: pesi, n. neuroni strato nascosto e % di output, funzioni di trasferimento % Funzione di trasferimento dei neuroni dello strato nascosto: logsig % Funzione di trasferimento dei neuroni dello strato di output: identita' net=newff(mn_mx_inp,[Nhid Nout],{'logsig','purelin'}); % Imposta i pesi della rete in modo casuale % randn('seed',220326) amp_pesi = 3; %Parametro che controlla l'intensita' delle connessioni net.IW{1} = amp_pesi*randn(Nhid,Ninp); %Pesi connessioni strato di input - strato nascosto net.LW{2,1} = amp_pesi*randn(Nout,Nhid); %Pesi connessioni strato nascosto - strato di output net.b{1} = amp_pesi*randn(Nhid,1); %Pesi connessioni input di bias - strato nascosto net.b{2} = amp_pesi*randn(1,Nout); %Pesi connessioni bias nascosto - strato di output % Calcola output rete output = f(input) y=sim(net, X'); % Traccia grafico funzione di risposta Y=reshape(y,N,N); surf(X1,X2,Y);