% Figure_3_Generate.m % Script used to generate Figure 3 from Barendregt et al., 2022. clear % Define simulation variables for SNR change task simulations: T = 5; dt = 0.005; t_i = 1; dg = 0.001; R = 5; c = @(t) 1; N = 5; m = NaN(1,T/dt+1); m(1:100) = 5; m(101:end) = 2; % Simulate reward timeseries (Fig. 3A) and normative model (Fig. 3B): SC_Threshold_Schematic(T,dt,t_i,dg,m,c,R,N) % Load motif data: load('SC_Threshold_Motifs.mat') % Generate colormap of motifs (Fig. 3C): figure imagesc([m_1(1) m_1(end)],[m_2(1) m_2(end)],type') set(gca,'ydir','normal') colormap([128 177 211;... 253 180 98;... 255 237 111]/255) % Define simulation parameters to construct empirical response time % distributions: N_trial = 1e4; mid = linspace(0,1,25); edges = [mid-0.5*(mid(1)+mid(2)) mid(end)+0.5*(mid(1)+mid(2))]; % Generate motif i behavior and response distribution (Fig. 3i): figure plot(0:dt:(T/5),squeeze(thresh(1,100,:)),'linewidth',15,'color','#ffed6f') hold on plot(0:dt:(T/5),squeeze(-thresh(1,100,:)),'linewidth',15,'color','#ffed6f') line([0 T/5],[0 0],'linestyle','--','color','k','linewidth',5) xlim([0 T/5]) NB_RT = NaN(1,N_trial); m = NaN(1,T/dt+1); m(1:100) = m_1(1); m(101:end) = m_2(100); y = SC_RDMD_trial_generate(m,T/5,dt,0,N_trial); for n = 1:N_trial NB_RT(n) = RDMD_sim_norm(y(n,:),T/5,dt,squeeze(thresh(1,100,:)),0); end NB_RT = histcounts(NB_RT,edges,'normalization','pdf'); figure stairs(edges,[NB_RT 0],'linewidth',15,'color','#ffed6f') xlim([0 T/5]) % Generate motif ii behavior and response distribution (Fig. 3ii): figure plot(0:dt:(T/5),squeeze(thresh(50,50,:)),'linewidth',15,'color','#80b1d3') hold on plot(0:dt:(T/5),squeeze(-thresh(50,50,:)),'linewidth',15,'color','#80b1d3') line([0 T/5],[0 0],'linestyle','--','color','k','linewidth',5) xlim([0 T/5]) NB_RT = NaN(1,N_trial); m = NaN(1,T/dt+1); m(1:100) = m_1(50); m(101:end) = m_2(50); y = SC_RDMD_trial_generate(m,T/5,dt,0,N_trial); for n = 1:N_trial NB_RT(n) = RDMD_sim_norm(y(n,:),T/5,dt,squeeze(thresh(50,50,:)),0); end NB_RT = histcounts(NB_RT,edges,'normalization','pdf'); figure stairs(edges,[NB_RT 0],'linewidth',15,'color','#80b1d3') xlim([0 T/5]) % Generate motif iii behavior and response distribution (Fig. 3iii): figure plot(0:dt:(T/5),squeeze(thresh(100,1,:)),'linewidth',15,'color','#fdb462') hold on plot(0:dt:(T/5),squeeze(-thresh(100,1,:)),'linewidth',15,'color','#fdb462') line([0 T/5],[0 0],'linestyle','--','color','k','linewidth',5) xlim([0 T/5]) NB_RT = NaN(1,N_trial); m = NaN(1,T/dt+1); m(1:100) = m_1(100); m(101:end) = m_2(1); y = SC_RDMD_trial_generate(m,T/5,dt,0,N_trial); for n = 1:N_trial NB_RT(n) = RDMD_sim_norm(y(n,:),T/5,dt,squeeze(thresh(100,1,:)),0); end NB_RT = histcounts(NB_RT,edges,'normalization','pdf'); figure stairs(edges,[NB_RT 0],'linewidth',15,'color','#fdb462') xlim([0 T/5])