12import matplotlib.pyplot
as plt
18 "font.family":
"Serif",
19 "font.serif":
"Roman",
21 "axes.titlesize":
"large",
22 "axes.labelsize":
"large",
23 "xtick.labelsize":
"large",
24 "ytick.labelsize":
"large",
25 "legend.fontsize":
"medium"
27plt.rcParams.update(params)
31 "output/relative_error/RK4/",
32 "output/relative_error/euler/",
60 fig1, axs1 = plt.subplots(2,1)
61 for i, (dir, title)
in enumerate(list(zip(directories, titles))):
63 for label, file, color
in zip(labels, files, colors):
64 with open(dir+file)
as f:
66 t = np.linspace(0, 50, len(lines))
67 r = np.array([float(line.strip())
for line
in lines])
68 max_err.append(max(r))
69 axs1[i].plot(t, r, label=label, color=color)
71 axs1[i].set(xlabel=
r"t $(\mu s)$", ylabel =
r"relative error $(\mu m)$")
73 axs1[i].set_title(title)
75 conv_rate = 1/3 * sum([np.log2(max_err[i+1]/max_err[i])/np.log2(.5)
for i
in range(3)])
76 print(f
"{methods[i]}: {conv_rate}")
79 fig1.savefig(
"../latex/images/relative_error.pdf", bbox_inches=
"tight")
82if __name__ ==
"__main__":