Figure_7.m 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. %% Figure 7B to 7G
  2. clear all
  3. load('Figure7.mat')
  4. %
  5. window=7;
  6. alpha=1.75;
  7. smooth=1;
  8. FR_Thre=0.1;
  9. variance=80;
  10. mode = 2;
  11. gaussFilt = gausswin(window,alpha);
  12. clear gaussFilter
  13. % gaussFilter = gaussFilter / sum(gaussFilter);
  14. for i=1:(window+1)/2
  15. gaussFilter(:,i)= gaussFilt / sum(gaussFilt((window+1)/2+1-i:window));
  16. end
  17. colorMap = parula(256);
  18. % LearningTrial.r463_B3_Day1_SS
  19. B1=length(Prob_v2.B1_WinBugs);
  20. B2=length(Prob_v2.B2_WinBugs);
  21. B3=length(Prob_v2.B3_WinBugs);
  22. B4=length(Prob_v2.B4_WinBugs);
  23. for i=1:length(Prob_v2.B3_WinBugs)
  24. LearningLearningCurve.r463_Day1(i+B1+B2)=Prob_v2.B3_WinBugs(i,3);
  25. end
  26. for i=1:length(Prob_v2.B4_WinBugs)
  27. LearningLearningCurve.r463_Day1(i+B1+B2+B3)=Prob_v2.B4_WinBugs(i,3);
  28. end
  29. LearningTrial.r463_B1_Day1=TrialInformation_v2.LearningTrial_B1;
  30. LearningTrial.r463_B2_Day1=TrialInformation_v2.LearningTrial_B2;
  31. LearningTrial.r463_B3_Day1=TrialInformation_v2.LearningTrial_B3;
  32. LearningTrial.r463_B4_Day1=TrialInformation_v2.LearningTrial_B4;
  33. % LearningTrial.r463_B3_Day1=36;
  34. clear Index
  35. [~,Index.r463_Day1]=sort(TrialInformation_v2.B3_SSCH);
  36. j=1; k=1;
  37. for i=1:length(Index.r463_Day1)
  38. if sum(TrialInformation_v2.B3_SSCH(i) == TrialInformation_v2.B3_SS)
  39. LearningCurve.r463_B3_Day1_WinBugs_SS(j)=Prob_v2.B3_WinBugs(i,3);
  40. Index.r463_Day1_SS(j)=i; j=j+1;
  41. else
  42. LearningCurve.r463_B3_Day1_WinBugs_CR(k)=Prob_v2.B3_WinBugs(i,3);
  43. Index.r463_Day1_CR(k)=i; k=k+1;
  44. end
  45. if Index.r463_Day1(i) == LearningTrial.r463_B3_Day1
  46. LearningTrial.r463_B3_Day1_SS = j-1;
  47. LearningTrial.r463_B3_Day1_CR = k-1;
  48. end
  49. end
  50. % %%%%%%%%%%%%%%%%%%% All trial
  51. [Tar.r463_Day1_dHP, Tar.r463_Day1_dHP_Name]=GetAvailablePCAUnit(PCA.r463_Day1_dHP_MeanFiringRate_B3(Index.r463_Day1,:),FR_Thre,PCA.r463_Day1_dHP_Name);
  52. [Tar.r463_Day1_iHP, Tar.r463_Day1_iHP_Name]=GetAvailablePCAUnit(PCA.r463_Day1_iHP_MeanFiringRate_B3(Index.r463_Day1,:),FR_Thre,PCA.r463_Day1_iHP_Name);
  53. j=1;
  54. for i=1:size(Tar.r463_Day1_dHP,2)
  55. if ~sum(isnan(Tar.r463_Day1_dHP(:,i)))
  56. Target.r463_Day1_dHP(:,j)=Tar.r463_Day1_dHP(:,i);
  57. Target.r463_Day1_dHP_Name{j,1}=Tar.r463_Day1_dHP_Name{i}; j=j+1;
  58. end
  59. end
  60. j=1;
  61. for i=1:size(Tar.r463_Day1_iHP,2)
  62. if ~sum(isnan(Tar.r463_Day1_iHP(:,i)))
  63. Target.r463_Day1_iHP(:,j)=Tar.r463_Day1_iHP(:,i);
  64. Target.r463_Day1_iHP_Name{j,1}=Tar.r463_Day1_iHP_Name{i}; j=j+1;
  65. end
  66. end
  67. Average.r463_Day1_dHP=mean(Tar.r463_Day1_dHP);
  68. Average.r463_Day1_iHP=mean(Tar.r463_Day1_iHP);
  69. Normalized.r463_Day1_dHP=zscore(Target.r463_Day1_dHP(:,:));
  70. Normalized.r463_Day1_iHP=zscore(Target.r463_Day1_iHP(:,:));
  71. % %%%%%%%%%%%%%%%%%%%%%% All trial
  72. [w.r463_Day1_dHP, PC.r463_Day1_dHP,~,~,Variance.r463_Day1_dHP] = pca(zscore(Target.r463_Day1_dHP(:,:)));
  73. [w.r463_Day1_iHP, PC.r463_Day1_iHP,~,~,Variance.r463_Day1_iHP] = pca(zscore(Target.r463_Day1_iHP(:,:)));
  74. PC.r463_Day1_dHP_SS = PC.r463_Day1_dHP(Index.r463_Day1_SS,:);
  75. PC.r463_Day1_dHP_CR = PC.r463_Day1_dHP(Index.r463_Day1_CR,:);
  76. PC.r463_Day1_iHP_SS = PC.r463_Day1_iHP(Index.r463_Day1_SS,:);
  77. PC.r463_Day1_iHP_CR = PC.r463_Day1_iHP(Index.r463_Day1_CR,:);
  78. for i=1:length(Variance.r463_Day1_dHP)
  79. if sum(Variance.r463_Day1_dHP(1:i)) > variance
  80. Dimension.r463_Day1_dHP=i;
  81. break;
  82. end
  83. end
  84. for i=1:length(Variance.r463_Day1_iHP)
  85. if sum(Variance.r463_Day1_iHP(1:i)) > variance
  86. Dimension.r463_Day1_iHP=i;
  87. break;
  88. end
  89. end
  90. % figure
  91. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  92. PC.r463_Day1_dHP_GaussFiltered = GetPC_GaussianFiltering(PC.r463_Day1_dHP, window, gaussFilter);
  93. PC.r463_Day1_iHP_GaussFiltered = GetPC_GaussianFiltering(PC.r463_Day1_iHP, window, gaussFilter);
  94. PC.r463_Day1_dHP_SS_GaussFiltered = GetPC_GaussianFiltering(PC.r463_Day1_dHP(Index.r463_Day1_SS,:), window, gaussFilter);
  95. PC.r463_Day1_dHP_CR_GaussFiltered = GetPC_GaussianFiltering(PC.r463_Day1_dHP(Index.r463_Day1_CR,:), window, gaussFilter);
  96. PC.r463_Day1_iHP_SS_GaussFiltered = GetPC_GaussianFiltering(PC.r463_Day1_iHP(Index.r463_Day1_SS,:), window, gaussFilter);
  97. PC.r463_Day1_iHP_CR_GaussFiltered = GetPC_GaussianFiltering(PC.r463_Day1_iHP(Index.r463_Day1_CR,:), window, gaussFilter);
  98. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  99. LearnedState.r463_Day1_dHP_SS_GaussFiltered=mean(PC.r463_Day1_dHP_SS_GaussFiltered(LearningTrial.r463_B3_Day1_SS:length(Index.r463_Day1_SS),1:Dimension.r463_Day1_dHP),1);
  100. LearnedState.r463_Day1_iHP_SS_GaussFiltered=mean(PC.r463_Day1_iHP_SS_GaussFiltered(LearningTrial.r463_B3_Day1_SS:length(Index.r463_Day1_SS),1:Dimension.r463_Day1_iHP),1);
  101. for i=1:size(PC.r463_Day1_dHP_SS_GaussFiltered,1)
  102. x=PC.r463_Day1_dHP_SS_GaussFiltered(i,1:Dimension.r463_Day1_dHP);
  103. y=LearnedState.r463_Day1_dHP_SS_GaussFiltered;
  104. z=Variance.r463_Day1_dHP(1:Dimension.r463_Day1_dHP);
  105. EUdist.r463_Day1_dHP_SS_Weighted_GaussFiltered(i,:)=GetWeightedEuclideanDistance(x,y,z);
  106. EUdist.r463_Day1_dHP_SS_GaussFiltered(i,:)=pdist2(x,y);
  107. end
  108. for i=1:size(PC.r463_Day1_iHP_SS_GaussFiltered,1)
  109. x=PC.r463_Day1_iHP_SS_GaussFiltered(i,1:Dimension.r463_Day1_iHP);
  110. y=LearnedState.r463_Day1_iHP_SS_GaussFiltered;
  111. z=Variance.r463_Day1_iHP(1:Dimension.r463_Day1_iHP);
  112. EUdist.r463_Day1_iHP_SS_Weighted_GaussFiltered(i,:)=GetWeightedEuclideanDistance(x,y,z);
  113. EUdist.r463_Day1_iHP_SS_GaussFiltered(i,:)=pdist2(x,y);
  114. end
  115. LearnedState.r463_Day1_dHP_CR_GaussFiltered=mean(PC.r463_Day1_dHP_CR_GaussFiltered(LearningTrial.r463_B3_Day1_CR:length(Index.r463_Day1_CR),1:Dimension.r463_Day1_dHP),1);
  116. LearnedState.r463_Day1_iHP_CR_GaussFiltered=mean(PC.r463_Day1_iHP_CR_GaussFiltered(LearningTrial.r463_B3_Day1_CR:length(Index.r463_Day1_CR),1:Dimension.r463_Day1_iHP),1);
  117. for i=1:size(PC.r463_Day1_dHP_CR_GaussFiltered,1)
  118. x=PC.r463_Day1_dHP_CR_GaussFiltered(i,1:Dimension.r463_Day1_dHP);
  119. y=LearnedState.r463_Day1_dHP_CR_GaussFiltered;
  120. z=Variance.r463_Day1_dHP(1:Dimension.r463_Day1_dHP);
  121. EUdist.r463_Day1_dHP_CR_Weighted_GaussFiltered(i,:)=GetWeightedEuclideanDistance(x,y,z);
  122. EUdist.r463_Day1_dHP_CR_GaussFiltered(i,:)=pdist2(x,y);
  123. end
  124. for i=1:size(PC.r463_Day1_iHP_CR_GaussFiltered,1)
  125. x=PC.r463_Day1_iHP_CR_GaussFiltered(i,1:Dimension.r463_Day1_iHP);
  126. y=LearnedState.r463_Day1_iHP_CR_GaussFiltered;
  127. z=Variance.r463_Day1_iHP(1:Dimension.r463_Day1_iHP);
  128. EUdist.r463_Day1_iHP_CR_Weighted_GaussFiltered(i,:)=GetWeightedEuclideanDistance(x,y,z);
  129. EUdist.r463_Day1_iHP_CR_GaussFiltered(i,:)=pdist2(x,y);
  130. end
  131. % %%%%%%%%%%%%%%%%%%%%%
  132. fig=figure; fig.Position=[0 0 2000 1000];
  133. if Dimension.r463_Day1_dHP > 2
  134. sheetTitle = subplot('Position', [0.05 0.5 0.2 0.4]); hold on;
  135. p0=plot3(PC.r463_Day1_dHP_SS_GaussFiltered(:,1),PC.r463_Day1_dHP_SS_GaussFiltered(:,2),PC.r463_Day1_dHP_SS_GaussFiltered(:,3),'k--'); p0.LineWidth=0.5; p0.MarkerSize=5;
  136. scale=floor(256/size(PC.r463_Day1_dHP_SS_GaussFiltered,1));
  137. for i=1:size(PC.r463_Day1_dHP_SS_GaussFiltered,1)
  138. p3=plot3(PC.r463_Day1_dHP_SS_GaussFiltered(i,1),PC.r463_Day1_dHP_SS_GaussFiltered(i,2),PC.r463_Day1_dHP_SS_GaussFiltered(i,3),'.'); p3.MarkerSize=40;
  139. p3.Color=colorMap(256-scale*(i-1),:);
  140. end
  141. p1=plot3(LearnedState.r463_Day1_dHP_SS_GaussFiltered(1),LearnedState.r463_Day1_dHP_SS_GaussFiltered(2),LearnedState.r463_Day1_dHP_SS_GaussFiltered(3),'.'); p1.Color=[0.5 0.5 0.5]; p1.MarkerSize=50;
  142. grid on
  143. g=gca; g.FontSize=12;
  144. xlabel('PC1'); ylabel('PC2'); zlabel('PC3');
  145. title('r463-Day1, B3, dHP, SS');
  146. % CR
  147. sheetTitle = subplot('Position', [0.3 0.5 0.2 0.4]); hold on;
  148. p0=plot3(PC.r463_Day1_dHP_CR_GaussFiltered(:,1),PC.r463_Day1_dHP_CR_GaussFiltered(:,2),PC.r463_Day1_dHP_CR_GaussFiltered(:,3),'k--'); p0.LineWidth=0.5; p0.MarkerSize=5;
  149. scale=floor(256/size(PC.r463_Day1_dHP_CR_GaussFiltered,1));
  150. for i=1:size(PC.r463_Day1_dHP_CR_GaussFiltered,1)
  151. p3=plot3(PC.r463_Day1_dHP_CR_GaussFiltered(i,1),PC.r463_Day1_dHP_CR_GaussFiltered(i,2),PC.r463_Day1_dHP_CR_GaussFiltered(i,3),'.'); p3.MarkerSize=40;
  152. p3.Color=colorMap(256-scale*(i-1),:);
  153. end
  154. p1=plot3(LearnedState.r463_Day1_dHP_CR_GaussFiltered(1),LearnedState.r463_Day1_dHP_CR_GaussFiltered(2),LearnedState.r463_Day1_dHP_CR_GaussFiltered(3),'.'); p1.Color=[0.5 0.5 0.5]; p1.MarkerSize=50;
  155. grid on
  156. g=gca; g.FontSize=12;
  157. xlabel('PC1'); ylabel('PC2'); zlabel('PC3');
  158. title('r463-Day1, B3, dHP, CR');
  159. end
  160. % iHP, SS
  161. sheetTitle = subplot('Position', [0.55 0.5 0.2 0.4]); hold on;
  162. p0=plot3(PC.r463_Day1_iHP_SS_GaussFiltered(:,1),PC.r463_Day1_iHP_SS_GaussFiltered(:,2),PC.r463_Day1_iHP_SS_GaussFiltered(:,3),'k--'); p0.LineWidth=0.5; p0.MarkerSize=5;
  163. scale=floor(256/size(PC.r463_Day1_iHP_SS_GaussFiltered,1));
  164. for i=1:size(PC.r463_Day1_iHP_SS_GaussFiltered,1)
  165. p3=plot3(PC.r463_Day1_iHP_SS_GaussFiltered(i,1),PC.r463_Day1_iHP_SS_GaussFiltered(i,2),PC.r463_Day1_iHP_SS_GaussFiltered(i,3),'.'); p3.MarkerSize=40;
  166. p3.Color=colorMap(256-scale*(i-1),:);
  167. end
  168. p1=plot3(LearnedState.r463_Day1_iHP_SS_GaussFiltered(1),LearnedState.r463_Day1_iHP_SS_GaussFiltered(2),LearnedState.r463_Day1_iHP_SS_GaussFiltered(3),'.'); p1.Color=[0.5 0.5 0.5]; p1.MarkerSize=50;
  169. grid on
  170. g=gca; g.FontSize=12;
  171. xlabel('PC1'); ylabel('PC2'); zlabel('PC3');
  172. title('r463-Day1, B3, iHP, SS');
  173. % CR
  174. sheetTitle = subplot('Position', [0.8 0.5 0.2 0.4]); hold on;
  175. p0=plot3(PC.r463_Day1_iHP_CR_GaussFiltered(:,1),PC.r463_Day1_iHP_CR_GaussFiltered(:,2),PC.r463_Day1_iHP_CR_GaussFiltered(:,3),'k--'); p0.LineWidth=0.5; p0.MarkerSize=5;
  176. scale=floor(256/size(PC.r463_Day1_iHP_CR_GaussFiltered,1));
  177. for i=1:size(PC.r463_Day1_iHP_CR_GaussFiltered,1)
  178. p3=plot3(PC.r463_Day1_iHP_CR_GaussFiltered(i,1),PC.r463_Day1_iHP_CR_GaussFiltered(i,2),PC.r463_Day1_iHP_CR_GaussFiltered(i,3),'.'); p3.MarkerSize=40;
  179. p3.Color=colorMap(256-scale*(i-1),:);
  180. end
  181. p1=plot3(LearnedState.r463_Day1_iHP_CR_GaussFiltered(1),LearnedState.r463_Day1_iHP_CR_GaussFiltered(2),LearnedState.r463_Day1_iHP_CR_GaussFiltered(3),'.'); p1.Color=[0.5 0.5 0.5]; p1.MarkerSize=50;
  182. grid on
  183. g=gca; g.FontSize=12;
  184. xlabel('PC1'); ylabel('PC2'); zlabel('PC3');
  185. title('r463-Day1, B3, iHP, CR');
  186. % SS- distance
  187. sheetTitle = subplot('Position', [0.1 0.1 0.3 0.3]); hold on;
  188. if Dimension.r463_Day1_dHP > 2
  189. DHP=EUdist.r463_Day1_dHP_SS_Weighted_GaussFiltered;
  190. DHP=DHP/max(DHP);
  191. p1=plot(1:length(DHP),DHP(1:end),'r.-'); p1(1,1).MarkerSize=20; p1(1,1).LineWidth=1.5;
  192. xlim([1 length(DHP)]);
  193. end
  194. hold on;
  195. VHP=EUdist.r463_Day1_iHP_SS_Weighted_GaussFiltered;
  196. VHP=VHP/max(VHP);
  197. p2=plot(1:length(VHP),VHP(1:end),'b.-'); p2(1,1).MarkerSize=20; p2(1,1).LineWidth=1.5;
  198. ylabel('SS-chosen trial');
  199. legend([p1,p2],'dHP','ivHP')
  200. %
  201. yyaxis right
  202. p3=plot(LearningCurve.r463_B3_Day1_WinBugs_SS,'k-'); p3(1,1).MarkerSize=20; p3(1,1).LineWidth=1.5;
  203. g=gca; g.YDir='rev';
  204. g.FontSize=12;
  205. % g.YLim=[0.39 1]
  206. l1=legend([p1 p2], 'Dorsal', 'Ventral'); l1.FontSize=10;
  207. l1=line([LearningTrial.r463_B3_Day1_SS LearningTrial.r463_B3_Day1_SS], [g.YLim]); l1.LineWidth=1; l1.Color='k';
  208. g.XLabel.String='Trial';
  209. t1=text(6,g.YLim(1)+(g.YLim(2)-g.YLim(1))*0.15, ['Dorsal n = ' num2str(size(PC.r463_Day1_dHP,2)) ', (' num2str(variance) '% Var = ' num2str(Dimension.r463_Day1_dHP) ')']); t1.FontSize=12;
  210. t1=text(6,g.YLim(1)+(g.YLim(2)-g.YLim(1))*0.05, ['Ventral n = ' num2str(size(PC.r463_Day1_iHP,2)) ', (' num2str(variance) '% Var = ' num2str(Dimension.r463_Day1_iHP) ')']); t1.FontSize=12;
  211. % CR- distance
  212. sheetTitle = subplot('Position', [0.55 0.1 0.3 0.3]); hold on;
  213. if Dimension.r463_Day1_dHP > 2
  214. DHP=EUdist.r463_Day1_dHP_CR_Weighted_GaussFiltered;
  215. DHP=DHP/max(DHP);
  216. p1=plot(1:length(DHP),DHP(1:end),'r.-'); p1(1,1).MarkerSize=20; p1(1,1).LineWidth=1.5;
  217. xlim([1 length(DHP)]);
  218. end
  219. hold on;
  220. VHP=EUdist.r463_Day1_iHP_CR_Weighted_GaussFiltered;
  221. VHP=VHP/max(VHP);
  222. p2=plot(1:length(VHP),VHP(1:end),'b.-'); p2(1,1).MarkerSize=20; p2(1,1).LineWidth=1.5;
  223. ylabel('CR-chosen trial');
  224. legend([p1,p2],'dHP','ivHP');
  225. %
  226. yyaxis right
  227. p3=plot(LearningCurve.r463_B3_Day1_WinBugs_CR,'k-'); p3(1,1).MarkerSize=20; p3(1,1).LineWidth=1.5;
  228. g=gca; g.YDir='rev';
  229. g.FontSize=12;
  230. % g.YLim=[0.4 0.92]
  231. l1=legend([p1 p2], 'Dorsal', 'Ventral'); l1.FontSize=10;
  232. l1=line([LearningTrial.r463_B3_Day1_CR LearningTrial.r463_B3_Day1_CR], [g.YLim]); l1.LineWidth=1; l1.Color='k';
  233. g.XLabel.String='Trial';
  234. t1=text(6,g.YLim(1)+(g.YLim(2)-g.YLim(1))*0.15, ['Dorsal n = ' num2str(size(PC.r463_Day1_dHP,2)) ', (' num2str(variance) '% Var = ' num2str(Dimension.r463_Day1_dHP) ')']); t1.FontSize=12;
  235. t1=text(6,g.YLim(1)+(g.YLim(2)-g.YLim(1))*0.05, ['Ventral n = ' num2str(size(PC.r463_Day1_iHP,2)) ', (' num2str(variance) '% Var = ' num2str(Dimension.r463_Day1_iHP) ')']); t1.FontSize=12;
  236. %% Figure 7I
  237. Trials = [LearningTrial.r448_B3_Day1_SS-1 LearningTrial.r448_B3_Day2_SS-1 LearningTrial.r448_B3_Day3_SS-1 LearningTrial.r448_B3_Day3_SS-1 ...
  238. LearningTrial.r459_B3_Day1_SS-1 LearningTrial.r459_B3_Day2_SS-1 LearningTrial.r459_B3_Day3_SS-1 LearningTrial.r459_B3_Day4_SS-1 ...
  239. LearningTrial.r463_B3_Day1_SS-1 LearningTrial.r463_B3_Day3_SS-1 LearningTrial.r463_B3_Day4_SS-1 LearningTrial.r463_B3_Day4_SS-1 ...
  240. LearningTrial.r473_B3_Day2_SS-1 LearningTrial.r473_B3_Day3_SS-1 LearningTrial.r473_B3_Day4_SS-1 ...
  241. LearningTrial.r509_B3_Day1_SS-1 LearningTrial.r509_B3_Day2_SS-1 LearningTrial.r509_B3_Day3_SS-1 LearningTrial.r509_B3_Day4_SS-1];
  242. PreLearend_Scaling=1;
  243. for i=1:length(Trials)
  244. PreLearend_Scaling = lcm(PreLearend_Scaling, Trials(i));
  245. end
  246. PreLearned_DownScale=PreLearend_Scaling/14/23/2;
  247. PreLearned_X=1/PreLearned_DownScale:1/PreLearned_DownScale:1;
  248. Trials = [size(PC.r448_Day1_dHP_SS,1)-LearningTrial.r448_B3_Day1_SS size(PC.r448_Day2_dHP_SS,1)-LearningTrial.r448_B3_Day2_SS size(PC.r448_Day3_dHP_SS,1)-LearningTrial.r448_B3_Day3_SS ...
  249. size(PC.r459_Day1_dHP_SS,1)-LearningTrial.r459_B3_Day1_SS, size(PC.r459_Day2_dHP_SS,1)-LearningTrial.r459_B3_Day2_SS, size(PC.r459_Day3_dHP_SS,1)-LearningTrial.r459_B3_Day3_SS, size(PC.r459_Day4_dHP_SS,1)-3-LearningTrial.r459_B3_Day4_SS ...
  250. size(PC.r463_Day1_dHP_SS,1)-LearningTrial.r463_B3_Day1_SS, size(PC.r463_Day2_dHP_SS,1)-LearningTrial.r463_B3_Day2_SS, size(PC.r463_Day3_dHP_SS,1)-LearningTrial.r463_B3_Day3_SS, size(PC.r463_Day4_dHP_SS,1)-LearningTrial.r463_B3_Day4_SS ...
  251. size(PC.r473_Day2_dHP_SS,1)-LearningTrial.r473_B3_Day2_SS, size(PC.r473_Day3_dHP_SS,1)-LearningTrial.r473_B3_Day3_SS, size(PC.r473_Day4_dHP_SS,1)-LearningTrial.r473_B3_Day4_SS, ...
  252. size(PC.r509_Day1_dHP_SS,1)-LearningTrial.r509_B3_Day1_SS, size(PC.r509_Day2_dHP_SS,1)-LearningTrial.r509_B3_Day2_SS, size(PC.r509_Day3_dHP_SS,1)-LearningTrial.r509_B3_Day3_SS, size(PC.r509_Day4_dHP_SS,1)-LearningTrial.r509_B3_Day4_SS];
  253. PostLearend_Scaling=1;
  254. for i=1:length(Trials)
  255. PostLearend_Scaling = lcm(PostLearend_Scaling, Trials(i));
  256. end
  257. PostLearned_DownScale=PostLearend_Scaling/17/13/15/19/2;
  258. PostLearned_X=1:1/PostLearned_DownScale:2-1/PostLearned_DownScale;
  259. TotalTrials = [size(PC.r448_Day1_dHP_SS,1), size(PC.r448_Day2_dHP_SS,1), size(PC.r448_Day3_dHP_SS,1)...
  260. size(PC.r459_Day1_dHP_SS,1), size(PC.r459_Day2_dHP_SS,1), size(PC.r459_Day3_dHP_SS,1), size(PC.r459_Day4_dHP_SS,1)-3 ...
  261. size(PC.r463_Day1_dHP_SS,1), size(PC.r463_Day2_dHP_SS,1), size(PC.r463_Day3_dHP_SS,1), size(PC.r463_Day4_dHP_SS,1) ...
  262. size(PC.r473_Day2_dHP_SS,1), size(PC.r473_Day3_dHP_SS,1), size(PC.r473_Day4_dHP_SS,1), ...
  263. size(PC.r509_Day1_dHP_SS,1), size(PC.r509_Day2_dHP_SS,1), size(PC.r509_Day3_dHP_SS,1), size(PC.r509_Day4_dHP_SS,1)];
  264. TotalLearend_Scaling=1;
  265. for i=1:length(TotalTrials)
  266. TotalLearend_Scaling = lcm(TotalLearend_Scaling, TotalTrials(i));
  267. end
  268. TotalLearned_DownScale=TotalLearend_Scaling/28/29/26/5/9;
  269. TotalLearned_X=1/TotalLearned_DownScale:1/TotalLearned_DownScale:1;
  270. Normal_iHP = [1 2 3 5 6 8 11 12 13 14 15 16];
  271. SSCH_iHP=[2 5 8 12 15 16];
  272. Quantity_iHP=[3 6 11 13 14];
  273. FewUnits_iHP=[7 17 18];
  274. FailToLearn_iHP=[4 9 10];
  275. Normal_dHP = [5 6 7 8 11];
  276. SSCH_dHP=[5 8];
  277. Quantity_dHP=[6 7 11];
  278. FewUnits_dHP=[2 3 12 13 14 15 16 17 18];
  279. FailToLearn_dHP=[4 9 10];
  280. Performance = [2 3 5 6 7 8 11 12 13 14 15 16 17 18];
  281. % % Line graph plot
  282. fig=figure; hold on;
  283. fig.Position=[0 0 1000 1000];
  284. % iHP
  285. for i=1:9:90
  286. Jin_MeanSTE_Line(PreLearned_X(i),PreleaernED.iHP(Normal_iHP,i));
  287. end
  288. plot(PreLearned_X,mean(PreleaernED.iHP(Normal_iHP,:)),'k');
  289. for i=1:15:length(PostLearned_X)
  290. Jin_MeanSTE_Line(PostLearned_X(i),PostleaernED.iHP(Normal_iHP,i));
  291. end
  292. plot(PostLearned_X,mean(PostleaernED.iHP(Normal_iHP,:)),'k');
  293. % dHP
  294. Color.color=2; Color.alpha=0.4;
  295. for i=1:9:90
  296. Jin_MeanSTE_Line(PreLearned_X(i),PreleaernED.dHP(Normal_dHP,i),Color);
  297. end
  298. plot(PreLearned_X,mean(PreleaernED.dHP(Normal_dHP,:)),'R');
  299. for i=1:15:length(PostLearned_X)
  300. Jin_MeanSTE_Line(PostLearned_X(i),PostleaernED.dHP(Normal_dHP,i),Color);
  301. end
  302. plot(PostLearned_X,mean(PostleaernED.dHP(Normal_dHP,:)),'R');
  303. g=gca; g.FontSize=18;
  304. ylim([0.1 1]);
  305. xlim([0 2]);
  306. g.YTick=g.YTick(1:end-1);
  307. g.XTick=[0.5 1.5];
  308. g.XTickLabel={'Pre-learn phase','Learned phase'};
  309. l1=line([1 1], [0 1.1]); l1.LineWidth=1.5; l1.Color='k';
  310. ylabel('Normalized Euclidean distance');
  311. % statistical testing
  312. m=1;
  313. for i=1:10:90
  314. [~,p_ttest(m)]=ttest2(PreleaernED.iHP(Normal_iHP,i), PreleaernED.dHP(Normal_dHP,i));
  315. m=m+1;
  316. end
  317. %% Figure 7J
  318. Trials_CR = [LearningTrial.r448_B3_Day1_CR-1 LearningTrial.r448_B3_Day2_CR-1 LearningTrial.r448_B3_Day3_CR-1 LearningTrial.r448_B3_Day3_CR-1 ...
  319. LearningTrial.r459_B3_Day1_CR-1 LearningTrial.r459_B3_Day2_CR-1 LearningTrial.r459_B3_Day3_CR-1 LearningTrial.r459_B3_Day4_CR-1 ...
  320. LearningTrial.r463_B3_Day1_CR-1 LearningTrial.r463_B3_Day3_CR-1 LearningTrial.r463_B3_Day4_CR-1 LearningTrial.r463_B3_Day4_CR-1 ...
  321. LearningTrial.r473_B3_Day2_CR-1 LearningTrial.r473_B3_Day3_CR-1 LearningTrial.r473_B3_Day4_CR-1 ...
  322. LearningTrial.r509_B3_Day1_CR-1 LearningTrial.r509_B3_Day2_CR-1 LearningTrial.r509_B3_Day3_CR-1 LearningTrial.r509_B3_Day4_CR-1];
  323. PreLearend_Scaling_CR=1;
  324. for i=1:length(Trials_CR)
  325. PreLearend_Scaling_CR = lcm(PreLearend_Scaling_CR, Trials_CR(i));
  326. end
  327. PreLearned_DownScale_CR=PreLearend_Scaling_CR/19/14/15/4;
  328. PreLearned_X_CR=1/PreLearned_DownScale_CR:1/PreLearned_DownScale_CR:1;
  329. Trials_CR = [size(PC.r448_Day1_dHP_CR,1)-LearningTrial.r448_B3_Day1_CR+1 size(PC.r448_Day2_dHP_CR,1)-LearningTrial.r448_B3_Day2_CR+1 size(PC.r448_Day3_dHP_CR,1)-LearningTrial.r448_B3_Day3_CR+1 ...
  330. size(PC.r459_Day1_dHP_CR,1)-LearningTrial.r459_B3_Day1_CR+1, size(PC.r459_Day2_dHP_CR,1)-LearningTrial.r459_B3_Day2_CR+1, size(PC.r459_Day3_dHP_CR,1)-LearningTrial.r459_B3_Day3_CR+1, size(PC.r459_Day4_dHP_CR,1)-LearningTrial.r459_B3_Day4_CR+1 ...
  331. size(PC.r463_Day1_dHP_CR,1)-LearningTrial.r463_B3_Day1_CR+1, size(PC.r463_Day2_dHP_CR,1)-LearningTrial.r463_B3_Day2_CR+1, size(PC.r463_Day3_dHP_CR,1)-LearningTrial.r463_B3_Day3_CR+1, size(PC.r463_Day4_dHP_CR,1)-LearningTrial.r463_B3_Day4_CR+1 ...
  332. size(PC.r473_Day2_dHP_CR,1)-LearningTrial.r473_B3_Day2_CR+1, size(PC.r473_Day3_dHP_CR,1)-LearningTrial.r473_B3_Day3_CR+1, size(PC.r473_Day4_dHP_CR,1)-LearningTrial.r473_B3_Day4_CR+1, ...
  333. size(PC.r509_Day1_dHP_CR,1)-LearningTrial.r509_B3_Day1_CR+1, size(PC.r509_Day2_dHP_CR,1)-LearningTrial.r509_B3_Day2_CR+1, size(PC.r509_Day3_dHP_CR,1)-LearningTrial.r509_B3_Day3_CR+1, size(PC.r509_Day4_dHP_CR,1)-LearningTrial.r509_B3_Day4_CR+1];
  334. PostLearend_Scaling_CR=1;
  335. Trials_CR(Trials_CR==0)=[];
  336. for i=1:length(Trials_CR)
  337. PostLearend_Scaling_CR = lcm(PostLearend_Scaling_CR, Trials_CR(i));
  338. end
  339. PostLearned_DownScale_CR=PostLearend_Scaling_CR;
  340. PostLearned_X_CR=1:1/PostLearned_DownScale_CR:2-1/PostLearned_DownScale_CR;
  341. TotalTrials_CR = [size(PC.r448_Day1_dHP_CR,1), size(PC.r448_Day2_dHP_CR,1), size(PC.r448_Day3_dHP_CR,1)...
  342. size(PC.r459_Day1_dHP_CR,1), size(PC.r459_Day2_dHP_CR,1), size(PC.r459_Day3_dHP_CR,1), size(PC.r459_Day4_dHP_CR,1) ...
  343. size(PC.r463_Day1_dHP_CR,1), size(PC.r463_Day2_dHP_CR,1), size(PC.r463_Day3_dHP_CR,1), size(PC.r463_Day4_dHP_CR,1) ...
  344. size(PC.r473_Day2_dHP_CR,1), size(PC.r473_Day3_dHP_CR,1), size(PC.r473_Day4_dHP_CR,1), ...
  345. size(PC.r509_Day1_dHP_CR,1), size(PC.r509_Day2_dHP_CR,1), size(PC.r509_Day3_dHP_CR,1), size(PC.r509_Day4_dHP_CR,1)];
  346. TotalLearend_Scaling_CR=1;
  347. for i=1:length(TotalTrials_CR)
  348. TotalLearend_Scaling_CR = lcm(TotalLearend_Scaling_CR, TotalTrials_CR(i));
  349. end
  350. TotalLearned_DownScale_CR=TotalLearend_Scaling_CR/24/19/17/31/6;
  351. TotalLearned_X_CR=1/TotalLearned_DownScale_CR:1/TotalLearned_DownScale_CR:1;
  352. Normal_iHP = [1 2 3 5 6 8 11 12 13 14 15 16];
  353. SSCH_iHP=[2 5 8 12 15 16];
  354. Quantity_iHP=[3 6 11 13 14];
  355. FewUnits_iHP=[7 17 18];
  356. FailToLearn_iHP=[4 9 10];
  357. Normal_dHP = [5 6 7 8 11];
  358. SSCH_dHP=[5 8];
  359. Quantity_dHP=[6 7 11];
  360. FewUnits_dHP=[2 3 12 13 14 15 16 17 18];
  361. FailToLearn_dHP=[4 9 10];
  362. Performance = [2 3 5 6 7 8 11 12 13 14 15 16 17 18];
  363. % % Line graph version
  364. % Normal session
  365. fig=figure; hold on;
  366. fig.Position=[0 0 1000 1000];
  367. % iHP
  368. for i=1:17:174
  369. Jin_MeanSTE_Line(PreLearned_X_CR(i),PreleaernED_CR.iHP(Normal_iHP,i));
  370. end
  371. plot(PreLearned_X_CR,mean(PreleaernED_CR.iHP(Normal_iHP,:)),'k');
  372. for i=1:6:length(PostLearned_X_CR)
  373. Jin_MeanSTE_Line(PostLearned_X_CR(i),PostleaernED_CR.iHP(Normal_iHP,i));
  374. end
  375. plot(PostLearned_X_CR,mean(PostleaernED_CR.iHP(Normal_iHP,:)),'k');
  376. % dHP
  377. Color.color=2; Color.alpha=0.4;
  378. for i=1:17:174
  379. Jin_MeanSTE_Line(PreLearned_X_CR(i),PreleaernED_CR.dHP(Normal_dHP,i),Color);
  380. end
  381. plot(PreLearned_X_CR,mean(PreleaernED_CR.dHP(Normal_dHP,:)),'R');
  382. for i=1:6:length(PostLearned_X_CR)
  383. Jin_MeanSTE_Line(PostLearned_X_CR(i),PostleaernED_CR.dHP(Normal_dHP,i),Color);
  384. end
  385. plot(PostLearned_X_CR,mean(PostleaernED_CR.dHP(Normal_dHP,:)),'R');
  386. [h,p]=ttest2(PreleaernED_CR.iHP(Normal_iHP,5), PreleaernED_CR.dHP(Normal_dHP,5))
  387. g=gca; g.FontSize=18;
  388. ylim([0 1]);
  389. xlim([0 2]);
  390. g.YTick=g.YTick(1:end-1);
  391. g.XTick=[0.5 1.5];
  392. g.XTickLabel={'Pre-learn phase','Learned phase'};
  393. l1=line([1 1], [0 1.1]); l1.LineWidth=1.5; l1.Color='k';
  394. ylabel('Normalized Euclidean distance');