You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.7 KiB
Matlab
81 lines
2.7 KiB
Matlab
function words_perceptual_advantage_asynconset3()
|
|
incFeedback=1;
|
|
close all
|
|
|
|
%define network
|
|
[W,alpha,mImage,nLetters]=words_weights(incFeedback);
|
|
|
|
%define input patterns
|
|
context=zeros(mImage,1);
|
|
context([encode_letter('k'),encode_letter('n'),logical(zeros(1,14)),encode_letter('t')])=1;%KN_T
|
|
contextMask=zeros(mImage,1);
|
|
contextMask([encode_letter('*'),encode_letter('*'),logical(zeros(1,14)),encode_letter('*')])=1;%**_*
|
|
letter=zeros(mImage,1);
|
|
letter([logical(zeros(1,28)),encode_letter('i'),logical(zeros(1,14))])=1; %__I_
|
|
letterMask=zeros(mImage,1);
|
|
letterMask([logical(zeros(1,28)),encode_letter('*'),logical(zeros(1,14))])=1; %__*_
|
|
|
|
period(1,:)=[1:50]; %1:200;
|
|
period(2,:)=[51:100]; %201:400;
|
|
period(3,:)=[101:150]; %401:600;
|
|
offset=200;
|
|
X=zeros(mImage,offset,3);%X is three-dimensional, to allow for time-varying stimulus
|
|
|
|
%define images
|
|
for r=1:3
|
|
for t=period(2,:)
|
|
X(:,t,r)=letter;
|
|
end
|
|
for t=t+1:offset
|
|
X(:,t,r)=letterMask;
|
|
end
|
|
for t=period(r,:)
|
|
X(:,t,r)=X(:,t,r)+context;
|
|
end
|
|
for t=t+1:offset
|
|
X(:,t,r)=X(:,t,r)+contextMask;
|
|
end
|
|
end
|
|
|
|
%present each input to the network in turn and record the results
|
|
for k=1:size(X,3)
|
|
x=X(:,:,k);
|
|
[y,e,r,yTrace]=dim_activation_hierarchical(W,x,incFeedback,offset);
|
|
resp(k,:)=yTrace{1}(2*nLetters+9,:); %record response of node selective for letter i in 3rd position
|
|
respMean(k)=mean(resp(k,:));
|
|
|
|
figure(k),clf, words_plot_results(x,y,r,alpha);
|
|
c=0; for t=1:ceil(size(X,2)/8):size(X,2), for l=1:4, c=c+1; subplot(22,4,56+c), letter=X(1+(l-1)*14:l*14,t,k);draw_letter(letter);end,end
|
|
end
|
|
figure(6),clf
|
|
plot(resp','LineWidth',2),axis([0,offset,0,5])
|
|
legend(['context 1st ';
|
|
'together ';
|
|
'target 1st '],'Location','Best')
|
|
set(gca,'FontSize',15);
|
|
xlabel('time'),ylabel('activation')
|
|
set(gcf,'PaperSize',[18 12],'PaperPosition',[0 0 18 12]);
|
|
|
|
|
|
human=[74.9,74.2,68.2];
|
|
|
|
|
|
figure(7),clf
|
|
axes('Position',[0.2,0.2,0.6,0.6]),
|
|
cm='r';
|
|
ch=[0.5,0,0.5];
|
|
[hAx,hLine1,hLine2] = plotyy([1:3],respMean,[1:3],human);
|
|
set(hLine1,'LineStyle','-','Color',cm,'Marker','o','LineWidth',2,'MarkerFaceColor',cm)
|
|
set(hLine2,'LineStyle','-','Color',ch,'Marker','s','LineWidth',2,'MarkerFaceColor',ch)
|
|
axis(hAx(1),[0.75,3.25,0.95,1.15]);
|
|
axis(hAx(2),[0.75,3.25,67,76]);
|
|
set(hAx(1),'XTick',[],'YTick',[0:0.1:4]),
|
|
set(hAx(2),'XTick',[1:3],'YTick',[60:5:90])
|
|
set(hAx(1),'FontSize',12);set(hAx(1),'XColor','k','YColor',cm)
|
|
set(hAx(2),'FontSize',12);set(hAx(2),'XColor','k','YColor',ch)
|
|
xlabel(hAx(2),'condition'),
|
|
ylabel(hAx(1),'mean activation','Color',cm,'FontSize',12),
|
|
ylabel(hAx(2),'% correct','Color',ch,'FontSize',12)
|
|
set(gcf,'PaperSize',[8 7],'PaperPosition',[0 0 8 8],'PaperOrientation','portrait');
|
|
print(gcf, '-dpdf', 'words_perceptual_advantage_asynconset3.pdf')
|