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=[ones(N^2,1) X1(:) X2(:)]; %Crea matrice dei dati di input (N^2 x 3) % Imposta in modo causale i pesi della rete % randn('seed',6220326) amp_pesi = 3; %Parametro che controlla l'intensita' delle connessioni Omega1 = amp_pesi*randn(Ninp+1,Nhid); %Pesi connessioni strato di input - strato nascosto Omega2 = amp_pesi*randn(Nhid,Nout); %Pesi connessioni strato nascosto - strato di output % Calcola l'output della rete output = f(input) % dove f e' la funzione di trasferimento della rete % Funzione di trasferimento dei neuroni dello strato nascosto: logsig % Funzione di trasferimento dei neuroni dello strato di output: identita' y = logsig(X*Omega1)*Omega2; % Traccia il grafico della funzione di risposta Y=reshape(y,N,N); surf(X1,X2,Y);