-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplot21.py
77 lines (65 loc) · 2.43 KB
/
plot21.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import matplotlib.pyplot as plt
import re
import numpy as np
file_name = "data21c.txt"
with open(file_name, "r") as file:
output = file.read()
mean_pos_err_pattern = r"Mean position error: ([\d\.]+)"
r_pattern = r"r:([\d\.]+)"
seed_pattern = r"seed:(\d+)"
mean_mahal_err_pattern = r"Mean Mahalanobis error: ([\d\.]+)"
anees_pattern = r"ANEES: ([\d\.]+)"
mean_pos_err = re.findall(mean_pos_err_pattern, output)
r = re.findall(r_pattern, output)
seed = re.findall(seed_pattern, output)
mean_mahal_err = re.findall(mean_mahal_err_pattern, output)
anees = re.findall(anees_pattern, output)
mean_pos_err = [float(i) for i in mean_pos_err]
mean_mahal_err = [float(i) for i in mean_mahal_err]
r = [float(i) for i in r]
anees = [float(i) for i in anees]
avg_pos_err = []
sd_pos_err = []
avg_mahal_err = []
avg_anees = []
sd_anees = []
for i in range(0, 60, 10):
avg_pos_err.append(np.mean(mean_pos_err[i:i+10]))
sd_pos_err.append(np.std(mean_pos_err[i:i+10]))
avg_mahal_err.append(np.mean(mean_mahal_err[i:i+10]))
avg_anees.append(np.mean(anees[i:i+10]))
sd_anees.append(np.std(anees[i:i+10]))
print("r: ", r)
print("mean_pos_err: ", avg_pos_err)
print("sd pos_err: ", sd_pos_err)
print("mean_mahal_err: ", avg_mahal_err)
print("anees: ", avg_anees)
print("anees sd: ", sd_anees)
# anees = plt.figure()
# plt.plot(r, avg_anees, label="avg ANEES", color="tomato")
# plt.fill_between(r, np.subtract(avg_anees, sd_anees), np.add(avg_anees, sd_anees), color="lightblue")
# plt.title("2.1b")
# plt.xlabel("r")
# plt.savefig("./plot/2.1b_ANEES.png")
# plt.show()
# pos = plt.figure()
# plt.plot(r, avg_pos_err, label="avg pos err", color="tomato")
# plt.fill_between(r, np.subtract(avg_pos_err, sd_pos_err), np.add(avg_pos_err, sd_pos_err), color="lightblue")
# plt.title("2.1b")
# plt.xlabel("r")
# plt.savefig("./plot/2.1b_pos.png")
# plt.show()
anees = plt.figure()
plt.plot(r, avg_anees, label="avg ANEES", color="sandybrown")
plt.fill_between(r, np.subtract(avg_anees, sd_anees), np.add(avg_anees, sd_anees), color="lightblue")
plt.title("2.1c")
plt.xlabel("r")
plt.savefig("./plot/2.1c_ANEES.png")
plt.show()
pos = plt.figure()
plt.plot(r, avg_pos_err, label="avg pos err", color="sandybrown")
plt.fill_between(r, np.subtract(avg_pos_err, sd_pos_err), np.add(avg_pos_err, sd_pos_err), color="lightblue")
plt.title("2.1c")
plt.xlabel("r")
plt.savefig("./plot/2.1c_pos.png")
plt.show()