summaryrefslogtreecommitdiffstats
path: root/fiz/vaje/4/preseki.py
diff options
context:
space:
mode:
Diffstat (limited to 'fiz/vaje/4/preseki.py')
-rwxr-xr-xfiz/vaje/4/preseki.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/fiz/vaje/4/preseki.py b/fiz/vaje/4/preseki.py
new file mode 100755
index 0000000..7a35c66
--- /dev/null
+++ b/fiz/vaje/4/preseki.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python3
+from sys import stderr
+from math import log
+import numpy
+import csv
+t = []
+x = []
+v = []
+with open("nihanje.tsv") as file:
+ tsv = csv.reader(file, delimiter="\t")
+ i = -1
+ for line in tsv:
+ if i == -1:
+ i = i + 1
+ continue
+ t.append(float(line[0]))
+ x.append(float(line[1]))
+ v.append(float(line[2]))
+ i = i + 1
+zero_crossings_x = numpy.where(numpy.diff(numpy.sign(x)))[0]
+zero_crossings_v = numpy.where(numpy.diff(numpy.sign(v)))[0]
+print("v\tx\tt\tabsx\tln")
+for i in range(len(zero_crossings_x)-1):
+ print(f"{v[zero_crossings_x[i]]}\t{x[zero_crossings_v[i]]}\t{t[zero_crossings_v[i]]}\t{abs(x[zero_crossings_v[i]])}\t{log(abs(x[zero_crossings_v[i]])/0.0943867)}")
+print(f"za {len(zero_crossings_x/2)} nihajev je preteklo {t[zero_crossings_x[len(zero_crossings_x)-1]]-t[zero_crossings_x[0]]} sekund, zato je nihajni čas {(t[zero_crossings_x[len(zero_crossings_x)-1]]-t[zero_crossings_x[0]])/(len(zero_crossings_x)/2)}", file=stderr)