from os import listdir
from sys import argv, exit
import numpy as np
+import scipy.stats as ss
# ed - euclidean distance
# rs - reeds and shepp path length
LOGF = "log_wo"
LOG = [
- {"f": "rs", "c": "orange", "l": "Reeds and Shepp path length"},
- {"f": "sh", "c": "blue", "l": "Reeds and Shepp same heading"},
- {"f": "ed", "c": "red", "l": "Euclidean distance"},
-# {"f": "ed", "c": "orange", "l": "No optimization"},
-# {"f": "ar", "c": "green", "l": "Remove redundant points"},
-# {"f": "as", "c": "blue", "l": "Smart"},
-# {"f": "cd", "c": "red", "l": "Dijkstra on cusp nodes"},
+ {"f": "T2", "c": "orange", "l": "T2"},
]
r = {}
plt.show()
#plt.savefig("WHATEVER")
+def mean_conf_int(data, conf=0.95):
+ """Return (mean, lower, uppper) of data.
+
+ see https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data
+
+ Keyword arguments:
+ data -- A list of data.
+ conf -- Confidence interval.
+ """
+ a = np.array(data)
+ n = len(a)
+ m = np.mean(a)
+ se = ss.sem(a)
+ h = se * ss.t.ppf((1 + conf) / 2, n - 1)
+ return (m, m - h, m + h)
+
def count_if_exist(trajectories, what):
"""From multiple trajectories compute the number of occurences.
pass
return val
+def get_val_if_exist(trajectories, what):
+ """From m ultiple trajectories get value.
+
+ Keyword arguments:
+ trajectories -- The list of trajectories.
+ what -- What to take.
+ """
+ val = []
+ for t in trajectories:
+ try:
+ val.append(t[what])
+ except:
+ pass
+ return val
+
def plot_costdist():
"""Plot distribution of last costs across measured tests."""
v = {}
print("{}: {}".format(a["f"], v[a["f"]]))
if __name__ == "__main__":
- plt.rcParams["font.size"] = 29
r = {}
for sf in [i["f"] for i in LOG]:
r[sf] = load_trajectories("{}/{}".format(LOGF, sf))