6
6
data = load_data(' collins18' );
7
7
end
8
8
9
- beta = linspace(0.1 ,15 ,30 );
9
+ beta = linspace(0.1 ,15 ,50 );
10
10
11
11
for s = 1 : length(data )
12
12
B = unique(data(s ).learningblock);
15
15
V_data = zeros(length(B ),1 );
16
16
for b = 1 : length(B )
17
17
ix = data(s ).learningblock== B(b ) & data(s ).phase== 0 ;
18
- stim = data(s ).stim (ix )' ;
18
+ state = data(s ).state (ix );
19
19
c = data(s ).corchoice(ix );
20
- choice = data(s ).choice(ix )' ;
21
- lowerx = 1 ; upperx = max(stim ); lowery = 1 ; uppery = max(stim );
22
- descriptor = [lowerx ,upperx ,upperx - lowerx ;lowery ,uppery ,uppery - lowery ];
23
- R_data(b ) = information(stim ,choice ,descriptor );
24
- V_data(b ) = mean(data(s ).cor(ix ));
20
+ action = data(s ).action(ix );
21
+ R_data(b ) = mutual_information(state ,action ,0.7 );
22
+ V_data(b ) = mean(data(s ).reward(ix ));
25
23
26
- S = unique(stim );
24
+ S = unique(state );
27
25
Q = zeros(length(S ),3 );
28
26
Ps = zeros(1 ,length(S ));
29
27
for i = 1 : length(S )
30
- ii = stim == S(i );
28
+ ii = state == S(i );
31
29
Ps(i ) = mean(ii );
32
30
a = c(ii ); a = a(1 );
33
31
Q(i ,a ) = 1 ;
41
39
cond(b ) = 2 ;
42
40
end
43
41
44
- ix = data(s ).learningblock== B(b ) & data(s ).phase== 1 ;
45
- stim = data(s ).stim(ix )' ;
46
- choice = data(s ).choice(ix )' ;
47
- try
48
- R_test(b ) = information(stim ,choice );
49
- V_test(b ) = mean(data(s ).cor(ix ));
50
- catch
51
- R_test(b ) = nan ;
52
- V_test(b ) = nan ;
53
- end
54
42
end
55
43
56
44
for c = 1 : 2
57
45
results .R(s ,: ,c ) = nanmean(R(cond == c ,: ));
58
46
results .V(s ,: ,c ) = nanmean(V(cond == c ,: ));
59
47
results .R_data(s ,c ) = nanmean(R_data(cond == c ));
60
48
results .V_data(s ,c ) = nanmean(V_data(cond == c ));
61
- results .V_test(s ,c ) = nanmean(V_test(cond == c ));
62
- results .R_test(s ,c ) = nanmean(R_test(cond == c ));
63
49
end
64
50
65
51
clear R V
66
52
67
- end
53
+ end
54
+
55
+ p = signrank(results .R_data(: ,1 ),results .R_data(: ,2 ))
56
+
57
+ R = squeeze(nanmean(results .R ));
58
+ V = squeeze(nanmean(results .V ));
59
+ for c = 1 : 2
60
+ Vd2(: ,c ) = interp1(R(: ,c ),V(: ,c ),results .R_data(: ,c ));
61
+ results .bias(: ,c ) = results .V_data(: ,c ) - Vd2(: ,c );
62
+ end
63
+
64
+ [r ,p ] = corr([results .V_data(: ,1 ); results .V_data(: ,2 )],[Vd2(: ,1 ); Vd2(: ,2 )])
65
+ [r ,p ] = corr([results .R_data(: ,1 ); results .R_data(: ,2 )],[results .bias(: ,1 ); results .bias(: ,2 )])
0 commit comments