Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- # goran = 0 ..... georgi = 1 ..... gorjan = 2 ..... ivan = 3
- def normalize(x):
- x_norm = x
- num_col = x.shape[1]
- for i in range(1,num_col):
- x_norm[:, i] = (x_norm[:, i] - np.mean(x[:, i]))/np.std(x[:, i])
- return x_norm
- def test():
- n = 13
- brojnesto = 0
- kolkuceka = 0
- kolkuceka500 = 0
- kt = 0
- kolkulevo = kolkudesno = kolkugore = kolkudole = 0
- kolkutrening = 0
- rastprva = 0
- vkupnovreme = 0
- vremedesno = vremelevo = vremegore = vremedole = 1
- brzina = brojac = 0
- agolminus = agolplus= 0
- brojacgoran = brojacgeorgi = brojacgorjan = brojacivan =0
- brgore = brdole = brdesno = brlevo = 1
- predX = np.zeros([133,n])
- lines = [line.rstrip('\n') for line in open('hw2_mouse_prediction.txt')]
- for i in range(0,len(lines)-1):
- linei = lines[i]
- linei = linei[1:len(linei) - 1]
- splitovano = linei.split(', ')
- vlezi = np.asarray(splitovano)
- if vlezi[0] == '-':
- prva = lines[i+1]
- prva = prva[1:len(prva) - 1]
- splitprva = prva.split(', ')
- prva = np.asarray(splitprva, dtype=float)
- brojacgoran += 1
- izlez = 0
- i = i +1
- vlez = lines[i]
- vlez = vlez[1:len(vlez) - 1]
- splitovano = vlez.split(', ')
- vlez = np.asarray(splitovano)
- while len(vlez)> 1:
- line1 = lines[i]
- line1 = line1[1:len(line1) -1]
- splitovano = line1.split(', ')
- line1 = np.asarray(splitovano, dtype=float)
- i = i+1
- if i > (len(lines) - 1):
- break
- pom = lines[i]
- pom = pom[1:len(pom)-1]
- splitovano = pom.split(', ')
- pom = np.asarray(splitovano)
- if len(pom) >1:
- line2 = lines[i]
- line2 = line2[1:len(line2) - 1]
- splitovano = line2.split(', ')
- line2 = np.asarray(splitovano, dtype=float)
- else:
- break
- vlez = pom
- x_razlika = line1[0] - line2[0]
- y_razlika = line1[1] - line2[1]
- rastprva += np.sqrt((prva[0] - line1[0])**2 + (prva[1] - line1[1])**2)
- if x_razlika:
- agol= np.arctan(np.abs(y_razlika)/np.abs(x_razlika))
- else: agol = 1.57079623
- if (x_razlika >= 0 and y_razlika >= 0) or (x_razlika <= 0 and y_razlika <= 0):
- agolplus += agol
- elif (x_razlika >=0 and y_razlika <=0) or (x_razlika<=0 and y_razlika>= 0):
- agolminus += agol
- vreme = line2[2]
- if x_razlika > 0:
- kolkulevo += np.abs(x_razlika)
- vremelevo += vreme
- brlevo += 1
- if x_razlika < 0:
- kolkudesno += np.abs(x_razlika)
- vremedesno += vreme
- brdesno += 1
- if y_razlika > 0:
- kolkudole += np.abs(y_razlika)
- vremedole += vreme
- brdole += 1
- if y_razlika < 0:
- kolkugore += np.abs(y_razlika)
- vremegore += vreme
- brgore += 1
- brzina += np.sqrt(x_razlika ** 2 + y_razlika ** 2) / float(vreme)
- if vreme > 200:
- kolkuceka500 += 1
- if vreme < 80:
- vkupnovreme += vreme
- else:
- vkupnovreme += 1
- kolkuceka +=1
- kolkutrening += 1
- brzinalevo = float(kolkulevo)/ float(vremelevo)
- brzinadesno = float(kolkudesno) / float(vremedesno)
- brzinagore = float(kolkugore) / float(vremegore)
- brzinadole = float(kolkudole) / float(vremedole)
- brzinalevo = float(brzinalevo) / float(brlevo)
- brzinadesno = float(brzinadesno) / float(brdesno)
- brzinagore = float(brzinagore) / float(brgore)
- brzinadole = float(brzinadole) / float(brdole)
- brzina = float(brzina) / float(kolkutrening)
- rastprva = float(rastprva) / float(kolkutrening)
- if kolkulevo:
- kolkulevo = float(kolkulevo) / float(brlevo)
- if kolkudesno:
- kolkudesno = float(kolkudesno) / float(brdesno)
- if kolkugore:
- kolkugore = float(kolkugore) / float(brgore)
- if kolkudole:
- kolkudole = float(kolkudole) / float(brdole)
- prosecnovreme = float(vkupnovreme) / float(kolkutrening)
- zabrzuvanje = float(brzina) / float(prosecnovreme)
- jerk = float(zabrzuvanje) / float (prosecnovreme)
- agolplus = float(agolplus)/ float(kolkutrening)
- agolminus = float(agolminus) / float(kolkutrening)
- #brzinahorizontalno = float(brzinalevo + brzinadesno ) / 2.0
- #brzinavertikalno = float(brzinagore + brzinadole ) / 2.0
- #print agolplus, agolminus
- niza = np.asarray(
- [kolkugore, kolkudole, kolkulevo, kolkudesno, brzina, np.sqrt(prosecnovreme), kolkuceka, kolkuceka500, agolplus, agolminus,
- np.sqrt(kolkugore), zabrzuvanje, np.sqrt(jerk)], dtype=float)
- predX[brojac] = niza
- brojac +=1
- brzina = kolkutrening= vkupnovreme = agol =agolplus = agolminus =0
- vremelevo = vremedesno = vremegore = vremedole = 1
- kolkulevo = kolkudesno = kolkugore = kolkudole = rastprva = kolkuceka = kolkuceka500 = 0
- brdole = brgore = brdesno = brlevo = 1
- predX = normalize(predX)
- return predX
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement