KOLOR=['b', 'r', 'g']; for licz=1:3 wrys=Wa(:,licz); rprosta(wrys,osie,KOLOR(licz)); end;
title('Rozwiazanie analityczne');
%%%Funkcje TOOLBOXa
% TRAINLM is a network training function % that updates weight and bias values according to Levenberg-Marquardt optimization. % You can create a standard network that uses TRAINLM with NEWFF. % net=newff(zakresy,[1],{'purelin'}); % To prepare a custom network to be trained with TRAINLM: % 1) Set NET.trainFcn to 'trainlm'. % This will set NET.trainParam to TRAINLM's default parameters. % 2) Set NET.trainParam properties to desired values.
zakresy=[-20 20; -10 10]
net = newff(zakresy,[3,3],{'tansig','purelin' });
% Dane uczące P=U' T=z' % Trening nettr = train(net,P,T);
% Weryfikacja uczenia: obliczenie wyjścia dla danych uczących disp('Porównanie wyników wyjść z sieci dla zbioru uczącego'); wynik = sim(nettr,P) z'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% do_testu=[]; for x=zakresy(1,1):dx:zakresy(1,2) for y=zakresy(2,1):dy:zakresy(2,2) do_testu=[do_testu, [x;y]]; end; end;
wynik_testu=sim(nettr,do_testu);
figure(1); subplot(1,3,2); newplot; hold on;
[lw,lk]=size(do_testu); kolor1='b.'; kolor2='r.'; kolor3='g.'; czulosc=0.975; for licz=1:lk; if wynik_testu(1,licz)>czulosc plot(do_testu(1,licz),do_testu(2,licz),kolor1); elseif wynik_testu(2,licz)>czulosc plot(do_testu(1,licz),do_testu(2,licz),kolor2); elseif wynik_testu(3,licz)>czulosc plot(do_testu(1,licz),do_testu(2,licz),kolor3); end; end;
[lw,lk]=size(U); kolor1='bs'; kolor2='ro'; kolor3='gd'; for licz=1:lw; if z(licz,1)==1 plot(U(licz,1),U(licz,2),kolor1); elseif z(licz,2)==1 plot(U(licz,1),U(licz,2),kolor2); elseif z(licz,3)==1 plot(U(licz,1),U(licz,2),kolor3); end; end;
title('Przekraczanie progu');
figure(1); subplot(1,3,3); newplot; hold on;
[lw,lk]=size(do_testu); kolor1='b.'; kolor2='r.'; kolor3='g.'; for licz=1:lk; if wynik_testu(1,licz)==max(wynik_testu(:,licz)) plot(do_testu(1,licz),do_testu(2,licz),kolor1); elseif wynik_testu(2,licz)==max(wynik_testu(:,licz)) plot(do_testu(1,licz),do_testu(2,licz),kolor2); elseif wynik_testu(3,licz)==max(wynik_testu(:,licz)) plot(do_testu(1,licz),do_testu(2,licz),kolor3); end; end;
[lw,lk]=size(U); kolor1='bs'; kolor2='ro'; kolor3='gd'; for licz=1:lw; if z(licz,1)==1 plot(U(licz,1),U(licz,2),kolor1); elseif z(licz,2)==1 plot(U(licz,1),U(licz,2),kolor2); elseif z(licz,3)==1 plot(U(licz,1),U(licz,2),kolor3); end; end;
title('Zasada maksimum');
obraz=zeros(N+1,N+1,3); wspolrzX=[]; wspolrzY=[]; licz=0; for lx=1:(N+1) for ly=1:(N+1) licz=licz+1; wspolrzX=[wspolrzX, zakresy(1,1)+(lx-1)*dx]; wspolrzY=[wspolrzY, zakresy(2,1)+(ly-1)*dy]; obraz(lx,ly,:)=wynik_testu(:,licz); end; end;
[lw,lk]=size(do_testu); czulosc=0.9;
figure(2);clf; subplot(1,3,1);hold on;axis(osie); % warstwa=obraz(:,:,1); % imagesc(wspolrzX,wspolrzY,warstwa) for licz=1:lk; if wynik_testu(1,licz)>czulosc plot(do_testu(1,licz),do_testu(2,licz),'b.'); elseif wynik_testu(1,licz)<-czulosc plot(do_testu(1,licz),do_testu(2,licz),'y.'); end; end; title('Obiekty niebieskie') subplot(1,3,2);hold on;axis(osie); % warstwa=obraz(:,:,2); % imagesc(wspolrzX,wspolrzY,warstwa) for licz=1:lk; if wynik_testu(2,licz)>czulosc plot(do_testu(1,licz),do_testu(2,licz),'r.'); elseif wynik_testu(2,licz)<-czulosc plot(do_testu(1,licz),do_testu(2,licz),'y.'); end; end; title('Obiekty czerwone') subplot(1,3,3);hold on;axis(osie); % warstwa=obraz(:,:,3); % imagesc(wspolrzX,wspolrzY,warstwa) title('Obiekty zielone') % colormap('gray') for licz=1:lk; if wynik_testu(3,licz)>czulosc plot(do_testu(1,licz),do_testu(2,licz),'g.'); elseif wynik_testu(3,licz)<-czulosc plot(do_testu(1,licz),do_testu(2,licz),'y.'); end; end;