-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPsychometric_curve.m
34 lines (31 loc) · 916 Bytes
/
Psychometric_curve.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function TR=Psychometric_curve(Level,score,index_selected_level,PlayedFreqs,n,TR)
allL=unique(Level);
%levelsLC=allL(index_selected_level);
% if ~isnan(find(PlayedFreqs==0));
% zeroInd=find(PlayedFreqs==0);
% Level(zeroInd)=[];
% score(zeroInd)=[];
% PlayedFreqs(zeroInd)=[];
% end
clear LCsInd_temp
clear LCFreqs
for ll=1:length(allL)
LCsInd_temp=find(Level==allL(ll));
LCFreqs=PlayedFreqs(LCsInd_temp(1:end));
gos=score(LCsInd_temp(1:end));
gos(gos==5)=2;
gos(gos==6)=0;
gos(gos==3)=2;
gos(gos==1)=0;
UniqueF=unique(LCFreqs);
[a b]=sort(LCFreqs);
difTone=[find(a(2:end)~=a(1:end-1))+1;a(end)];
binings=ones(1,length(b));
for bb=1:length(difTone)-1
binings(difTone(bb):end)=binings(difTone(bb):end)+1;
end
binings=binings';
SOrtScore=gos(b);
[hit, miss,fa,cr,tr,ntr,newcorrect,correct]=find_ratios4(binings,SOrtScore);
TR{ll}(n,:)=tr;
end