%% -- load the synapse file syn_raw = load('synapse.out'); %% -- generate mean weights (and some config stuff) num_syn = 96227; num_steps = length(syn_raw) / num_syn; types = [ 1*ones(100,1); 2*ones(600,1); 3*ones(100,1); 4*ones(200,1) ]; syn_mean = zeros(num_steps, 16); syn_count = zeros(num_steps, 16); for i = 1:num_steps ba = (i-1)*num_syn+1; for j = ba:(ba+num_syn-1) l = syn_raw(j,:); src = l(1,2) + 1; dst = l(1,3) + 1; w = l(1,5); syn_mean(i, 4*types(src)+types(dst)-4) = syn_mean(i, 4*types(src)+types(dst)-4) + w; syn_count(i, 4*types(src)+types(dst)-4) = syn_count(i, 4*types(src)+types(dst)-4) + 1; end end syn_mean = syn_mean ./ syn_count; %% plot it plot(syn_mean); legend('II', 'IB', 'IO', 'IX', 'BI', 'BB', 'BO', 'BX', 'OI', 'OB', 'OO', 'OX', 'XI', 'XB', 'XO', 'XX');