def generate_T2s(): scenarii = json.loads(open('scenarii.json').read()) for key, info in scenarii.items(): # Define the switch points times = np.linspace(0, info['maxTime'], info['switches'] + 1, endpoint=False) # Build the theoretical model model = StSICMR(info['true_n'], times, info['true_M']) # Choose points in which to evaluate the model steps = generate_times(info['maxTime']) scenarii[key]['times'] = list(steps) scenarii[key]['lambdas'] = [model.lambda_s(s) for s in steps] scenarii[key]['true_T'] = list(times) # Save it a s a .json file with open('scenarii.json', 'w') as outfile: json.dump(scenarii, outfile)
for i in range(1, n_tw+1)]) print (psmc_t_vector) #t_vector = psmc_t_vector t_vector = np.arange(0, 50, 0.1) N_ref = 1000 path2ms = '../bin' if __name__ == "__main__": model = StSICMR(n, T_list, M_list) T_list_ms = np.true_divide(np.array(T_list), 2) cmd = create_ms_command_T2(n_obs, n, T_list_ms, M_list, sampling) obs_T2 = simulate_T2_ms(cmd, path2ms) (x, empirical_lambda) = compute_empirical_hist(obs_T2, t_vector, N_ref, path2ms) theoretical_lambda = [model.lambda_s(t) for t in t_vector] times = 2 * N_ref * np.array(x) empirical_sizes = N_ref * np.array(empirical_lambda) theoretical_sizes = N_ref * np.array(theoretical_lambda) # Now we plot fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.step(times, empirical_sizes, '-r', where='post', label='empirical') ax.step(times, theoretical_sizes, '-b', where='post', label='theoretical') ax.set_xlim(1e3, 2*N_ref*t_vector[-1]) ax.set_ylim(0, 1e5) ax.set_xscale('log') print (empirical_lambda[0]) print (theoretical_lambda[0])