0001 function [classes,binned] = showClasses(cv,nbins)
0002
0003
0004 figure;
0005 [nTasks,nTrials] = size(cv.classes);
0006 for ttrial = 1:nTrials
0007 c = cv.testResults{ttrial}{5};
0008 npertask = length(c)/nTrials;
0009 correct = repmat(1:nTasks,npertask,1);
0010 classes{ttrial} = [correct(:) c'];
0011
0012 subplot(nTrials,1,ttrial);
0013 adj = [classes{ttrial}(:,1)-0.2 classes{ttrial}(:,2)];
0014 plot(adj,'k');
0015 title(['Test Trial ' num2str(ttrial)]);
0016 if ttrial == nTrials, xlabel('Sample'); end
0017 ylabel('Task Index');
0018 childs = get(gca,'Children');
0019 set(childs(2),'LineStyle','--');
0020 end
0021
0022 figure;
0023 [nTasks,nTrials] = size(cv.classes);
0024 for ttrial = 1:nTrials
0025 subplot(nTrials,1,ttrial);
0026 binned{ttrial} = bins(classes{ttrial},nbins);
0027 adj = [binned{ttrial}(:,1)-0.2 binned{ttrial}(:,2)];
0028 plot(adj,'k');
0029 title(['Test Trial ' num2str(ttrial)]);
0030 if ttrial == nTrials, xlabel('Sample'); end
0031 ylabel('Task Index');
0032 childs = get(gca,'Children');
0033 set(childs(2),'LineStyle','--');
0034
0035 percent = sum(classes{ttrial}(:,1) == classes{ttrial}(:,2)) / ...
0036 size(classes{ttrial},1) * 100;
0037 percentbinned = sum(binned{ttrial}(:,1) == binned{ttrial}(:,2)) / ...
0038 size(binned{ttrial},1) * 100;
0039 fprintf(1,'Test Trial %d Percent correct %5.1f, %d bins Percent Correct %5.1f\n',...
0040 ttrial,percent,nbins,percentbinned);
0041 end
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083 function binnedMaj = bins(data,nbins)
0084
0085
0086 n = size(data,1);
0087 binnedMaj = zeros(n-nbins+1,size(data,2));
0088 for r = 1:n-nbins+1
0089 for c = 1:size(data,2)
0090 v = data(r:r+nbins-1,c);
0091 uniq = unique(v)';
0092 most = 0;
0093 for u = uniq
0094 count = sum(v==u);
0095 if count > most
0096 most = count;
0097 majority = u;
0098 end
0099 end
0100 binnedMaj(r,c) = majority;
0101 end
0102 end
0103
0104