@@ -321,28 +321,26 @@ def solve_and_plot(m0, α, T, μ_seq):
321321 π_seq, m_seq, p_seq = solve(model_params)
322322 T_seq = range(T + 2)
323323
324- fig, ax = plt.subplots(2, 3, figsize=[10, 5 ], dpi=200)
324+ fig, ax = plt.subplots(5, figsize=[5, 12 ], dpi=200)
325325
326- ax[0,0 ].plot(T_seq[:-1], μ_seq)
327- ax[0,0 ].set_ylabel(r'$\mu$')
326+ ax[0].plot(T_seq[:-1], μ_seq)
327+ ax[0].set_ylabel(r'$\mu$')
328328
329- ax[0, 1].plot(T_seq, π_seq)
330- ax[0, 1].set_ylabel(r'$\pi$')
329+ ax[1].plot(T_seq, π_seq)
330+ ax[1].set_ylabel(r'$\pi$')
331331
332- ax[0, 2].plot(T_seq, m_seq - p_seq)
333- ax[0, 2].set_ylabel(r'$m - p$')
332+ ax[2].plot(T_seq, m_seq - p_seq)
333+ ax[2].set_ylabel(r'$m - p$')
334334
335- ax[1,0 ].plot(T_seq, m_seq)
336- ax[1,0 ].set_ylabel(r'$m$')
335+ ax[3 ].plot(T_seq, m_seq)
336+ ax[3 ].set_ylabel(r'$m$')
337337
338- ax[1,1 ].plot(T_seq, p_seq)
339- ax[1,1 ].set_ylabel(r'$p$')
338+ ax[4 ].plot(T_seq, p_seq)
339+ ax[4 ].set_ylabel(r'$p$')
340340
341- for i in range(2):
342- for j in range(3):
343- ax[i, j].set_xlabel(r'$t$')
341+ for i in range(5):
342+ ax[i].set_xlabel(r'$t$')
344343
345- ax[1,2].set_axis_off()
346344 plt.tight_layout()
347345 plt.show()
348346
@@ -448,37 +446,34 @@ p_seq_2_regime2 = np.concatenate([p_seq_2_path1[:T1+1],
448446T_seq = range(T+2)
449447
450448# plot both regimes
451- fig, ax = plt.subplots(2, 3 , figsize=[10,5 ], dpi=200)
449+ fig, ax = plt.subplots(5, 1 , figsize=[5, 12 ], dpi=200)
452450
453- ax[0,0 ].plot(T_seq[:-1], μ_seq_2)
454- ax[0,0 ].set_ylabel(r'$\mu$')
451+ ax[0].plot(T_seq[:-1], μ_seq_2)
452+ ax[0].set_ylabel(r'$\mu$')
455453
456- ax[0, 1].plot(T_seq, π_seq_2)
457- ax[0, 1].set_ylabel(r'$\pi$')
454+ ax[1].plot(T_seq, π_seq_2)
455+ ax[1].set_ylabel(r'$\pi$')
458456
459- ax[0, 2].plot(T_seq, m_seq_2_regime1 - p_seq_2_regime1)
460- ax[0, 2].set_ylabel(r'$m - p$')
457+ ax[2].plot(T_seq, m_seq_2_regime1 - p_seq_2_regime1)
458+ ax[2].set_ylabel(r'$m - p$')
461459
462- ax[1,0 ].plot(T_seq, m_seq_2_regime1,
460+ ax[3 ].plot(T_seq, m_seq_2_regime1,
463461 label='Smooth $m_{T_1}$')
464- ax[1,0 ].plot(T_seq, m_seq_2_regime2,
462+ ax[3 ].plot(T_seq, m_seq_2_regime2,
465463 label='Jumpy $m_{T_1}$')
466- ax[1,0 ].set_ylabel(r'$m$')
464+ ax[3 ].set_ylabel(r'$m$')
467465
468- ax[1,1 ].plot(T_seq, p_seq_2_regime1,
466+ ax[4 ].plot(T_seq, p_seq_2_regime1,
469467 label='Smooth $m_{T_1}$')
470- ax[1,1 ].plot(T_seq, p_seq_2_regime2,
468+ ax[4 ].plot(T_seq, p_seq_2_regime2,
471469 label='Jumpy $m_{T_1}$')
472- ax[1,1 ].set_ylabel(r'$p$')
470+ ax[4 ].set_ylabel(r'$p$')
473471
474- for i in range(2):
475- for j in range(3):
476- ax[i, j].set_xlabel(r'$t$')
477-
478- ax[1,2].set_axis_off()
472+ for i in range(5):
473+ ax[i].set_xlabel(r'$t$')
479474
480- for i,j in zip([1,1], [0,1]) :
481- ax[i,j ].legend()
475+ for i in [3, 4] :
476+ ax[i].legend()
482477
483478plt.tight_layout()
484479plt.show()
@@ -510,48 +505,45 @@ unanticipated, as in experiment 2.
510505
511506```{code-cell} ipython3
512507# compare foreseen vs unforeseen shock
513- fig, ax = plt.subplots(2, 3, figsize=[12,6 ], dpi=200)
508+ fig, ax = plt.subplots(5, figsize=[5, 12 ], dpi=200)
514509
515- ax[0,0 ].plot(T_seq[:-1], μ_seq_2)
516- ax[0,0 ].set_ylabel(r'$\mu$')
510+ ax[0].plot(T_seq[:-1], μ_seq_2)
511+ ax[0].set_ylabel(r'$\mu$')
517512
518- ax[0, 1].plot(T_seq, π_seq_2,
513+ ax[1].plot(T_seq, π_seq_2,
519514 label='Unforeseen')
520- ax[0, 1].plot(T_seq, π_seq_1,
515+ ax[1].plot(T_seq, π_seq_1,
521516 label='Foreseen', color='tab:green')
522- ax[0, 1].set_ylabel(r'$\pi$')
517+ ax[1].set_ylabel(r'$\pi$')
523518
524- ax[0, 2].plot(T_seq,
519+ ax[2].plot(T_seq,
525520 m_seq_2_regime1 - p_seq_2_regime1,
526521 label='Unforeseen')
527- ax[0, 2].plot(T_seq, m_seq_1 - p_seq_1,
522+ ax[2].plot(T_seq, m_seq_1 - p_seq_1,
528523 label='Foreseen', color='tab:green')
529- ax[0, 2].set_ylabel(r'$m - p$')
524+ ax[2].set_ylabel(r'$m - p$')
530525
531- ax[1,0 ].plot(T_seq, m_seq_2_regime1,
526+ ax[3 ].plot(T_seq, m_seq_2_regime1,
532527 label=r'Unforseen (Insist on $m_{T_1}$)')
533- ax[1,0 ].plot(T_seq, m_seq_2_regime2,
528+ ax[3 ].plot(T_seq, m_seq_2_regime2,
534529 label=r'Unforseen (Reset $m_{T_1}$)')
535- ax[1,0 ].plot(T_seq, m_seq_1,
530+ ax[3 ].plot(T_seq, m_seq_1,
536531 label='Foreseen shock')
537- ax[1,0 ].set_ylabel(r'$m$')
532+ ax[3 ].set_ylabel(r'$m$')
538533
539- ax[1,1 ].plot(T_seq, p_seq_2_regime1,
534+ ax[4 ].plot(T_seq, p_seq_2_regime1,
540535 label=r'Unforseen (Insist on $m_{T_1}$)')
541- ax[1,1 ].plot(T_seq, p_seq_2_regime2,
536+ ax[4 ].plot(T_seq, p_seq_2_regime2,
542537 label=r'Unforseen (Reset $m_{T_1}$)')
543- ax[1,1 ].plot(T_seq, p_seq_1,
538+ ax[4 ].plot(T_seq, p_seq_1,
544539 label='Foreseen')
545- ax[1,1 ].set_ylabel(r'$p$')
540+ ax[4 ].set_ylabel(r'$p$')
546541
547- for i in range(2):
548- for j in range(3):
549- ax[i, j].set_xlabel(r'$t$')
550-
551- ax[1,2].set_axis_off()
542+ for i in range(5):
543+ ax[i].set_xlabel(r'$t$')
552544
553- for i,j in zip([0,0,1,1], [1,2,0,1] ):
554- ax[i,j ].legend()
545+ for i in range(1, 5 ):
546+ ax[i].legend()
555547
556548plt.tight_layout()
557549plt.show()
0 commit comments