-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathambilmodel.py
65 lines (46 loc) · 1.34 KB
/
ambilmodel.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
import numpy as np
class frekuensidata:
def __init__(self, fmin, fmax, bagi, frekuensi):
self.fmin = fmin;
self.fmax = fmax;
self.bagi = bagi;
self.frekuensi = frekuensi;
def ambilmodel(model):
with open(model,'r') as reader:
#ambil data
pick = reader.readlines()
freq = pick[0].split()
fmin = float(freq[1])
fmax = float(freq[2])
bagi = int(freq[3])
#print(fmin)
rentang = [np.log10(fmin), np.log10(fmax)]
xf = [1, bagi]
x = list(range(1,31))
log_frekuensi = np.interp(x, xf, rentang) # rentang log frekuensi
#print(log_frekuensi)
frekuensi = [10**_ for _ in log_frekuensi]
#print(frekuensi)
fdata = frekuensidata(fmin, fmax, bagi, frekuensi)
header = pick[1].split()
#print(pick[1].split())
a = [_ for _ in pick[2:] ]
#print(a)
for b in a:
c = b.split()
try:
[float(_) for _ in c]
except:
break
if not c:
break
try:
data = np.vstack((data,c))
except:
data = c
#print(data)
return data, fdata
# if __name__ == '__main__':
# data, fdata = ambilmodel('Model 4 lapisan tanah.txt')
# print(data)
# print(fdata)