Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.88 KB | None | 0 0
  1. import numpy as np
  2. # goran = 0 .....  georgi =  1 ..... gorjan  = 2 ..... ivan = 3
  3. def normalize(x):
  4.     x_norm = x
  5.     num_col = x.shape[1]
  6.     for i in range(1,num_col):
  7.         x_norm[:, i] = (x_norm[:, i] - np.mean(x[:, i]))/np.std(x[:, i])
  8.     return x_norm
  9.  
  10. def test():
  11.     n = 13
  12.     brojnesto = 0
  13.     kolkuceka = 0
  14.     kolkuceka500 = 0
  15.     kt = 0
  16.     kolkulevo = kolkudesno = kolkugore = kolkudole = 0
  17.     kolkutrening = 0
  18.     rastprva = 0
  19.     vkupnovreme = 0
  20.     vremedesno = vremelevo = vremegore = vremedole = 1
  21.     brzina = brojac = 0
  22.     agolminus = agolplus= 0
  23.     brojacgoran = brojacgeorgi = brojacgorjan = brojacivan =0
  24.     brgore = brdole = brdesno = brlevo = 1
  25.     predX = np.zeros([133,n])
  26.     lines = [line.rstrip('\n') for line in open('hw2_mouse_prediction.txt')]
  27.     for i in range(0,len(lines)-1):
  28.         linei = lines[i]
  29.         linei = linei[1:len(linei) - 1]
  30.         splitovano = linei.split(', ')
  31.         vlezi = np.asarray(splitovano)
  32.         if vlezi[0] == '-':
  33.             prva = lines[i+1]
  34.             prva = prva[1:len(prva) - 1]
  35.             splitprva = prva.split(', ')
  36.             prva = np.asarray(splitprva, dtype=float)
  37.             brojacgoran += 1
  38.             izlez = 0
  39.             i = i +1
  40.             vlez = lines[i]
  41.             vlez = vlez[1:len(vlez) - 1]
  42.             splitovano = vlez.split(', ')
  43.             vlez = np.asarray(splitovano)
  44.             while len(vlez)> 1:
  45.                 line1 = lines[i]
  46.                 line1 = line1[1:len(line1) -1]
  47.                 splitovano = line1.split(', ')
  48.                 line1 = np.asarray(splitovano, dtype=float)
  49.                 i = i+1
  50.                 if i > (len(lines) - 1):
  51.                     break
  52.                 pom = lines[i]
  53.                 pom = pom[1:len(pom)-1]
  54.                 splitovano = pom.split(', ')
  55.                 pom = np.asarray(splitovano)
  56.                 if len(pom) >1:
  57.                     line2 = lines[i]
  58.                     line2 = line2[1:len(line2) - 1]
  59.                     splitovano = line2.split(', ')
  60.                     line2 = np.asarray(splitovano, dtype=float)
  61.                 else:
  62.                     break
  63.                     vlez = pom
  64.                 x_razlika = line1[0] - line2[0]
  65.                 y_razlika = line1[1] - line2[1]
  66.                 rastprva += np.sqrt((prva[0] - line1[0])**2 + (prva[1] - line1[1])**2)
  67.                 if x_razlika:
  68.                     agol= np.arctan(np.abs(y_razlika)/np.abs(x_razlika))
  69.                 else: agol = 1.57079623
  70.                 if (x_razlika >= 0 and y_razlika >= 0) or (x_razlika <= 0 and y_razlika <= 0):
  71.                     agolplus += agol
  72.  
  73.                 elif (x_razlika >=0 and y_razlika <=0) or (x_razlika<=0 and y_razlika>= 0):
  74.                     agolminus += agol
  75.  
  76.                 vreme = line2[2]
  77.                 if x_razlika > 0:
  78.                     kolkulevo += np.abs(x_razlika)
  79.                     vremelevo += vreme
  80.                     brlevo += 1
  81.                 if x_razlika < 0:
  82.                     kolkudesno += np.abs(x_razlika)
  83.                     vremedesno += vreme
  84.                     brdesno += 1
  85.                 if y_razlika > 0:
  86.                     kolkudole += np.abs(y_razlika)
  87.                     vremedole += vreme
  88.                     brdole += 1
  89.                 if y_razlika < 0:
  90.                     kolkugore += np.abs(y_razlika)
  91.                     vremegore += vreme
  92.                     brgore += 1
  93.                 brzina += np.sqrt(x_razlika ** 2 + y_razlika ** 2) / float(vreme)
  94.                 if vreme > 200:
  95.                     kolkuceka500 += 1
  96.                 if vreme < 80:
  97.                     vkupnovreme += vreme
  98.                 else:
  99.                     vkupnovreme += 1
  100.                     kolkuceka +=1
  101.                 kolkutrening += 1
  102.  
  103.             brzinalevo = float(kolkulevo)/ float(vremelevo)
  104.             brzinadesno = float(kolkudesno) / float(vremedesno)
  105.             brzinagore = float(kolkugore) / float(vremegore)
  106.             brzinadole = float(kolkudole) / float(vremedole)
  107.             brzinalevo = float(brzinalevo) / float(brlevo)
  108.             brzinadesno = float(brzinadesno) / float(brdesno)
  109.             brzinagore = float(brzinagore) / float(brgore)
  110.             brzinadole = float(brzinadole) / float(brdole)
  111.             brzina = float(brzina) / float(kolkutrening)
  112.             rastprva = float(rastprva) / float(kolkutrening)
  113.             if kolkulevo:
  114.                 kolkulevo = float(kolkulevo) / float(brlevo)
  115.             if kolkudesno:
  116.                 kolkudesno = float(kolkudesno) / float(brdesno)
  117.             if kolkugore:
  118.                 kolkugore = float(kolkugore) / float(brgore)
  119.             if kolkudole:
  120.                 kolkudole = float(kolkudole) / float(brdole)
  121.             prosecnovreme = float(vkupnovreme) / float(kolkutrening)
  122.  
  123.             zabrzuvanje = float(brzina) / float(prosecnovreme)
  124.             jerk = float(zabrzuvanje) / float (prosecnovreme)
  125.             agolplus = float(agolplus)/ float(kolkutrening)
  126.             agolminus = float(agolminus) / float(kolkutrening)
  127.             #brzinahorizontalno = float(brzinalevo + brzinadesno ) / 2.0
  128.             #brzinavertikalno = float(brzinagore + brzinadole ) / 2.0
  129.  
  130.             #print agolplus, agolminus
  131.             niza = np.asarray(
  132.                 [kolkugore, kolkudole, kolkulevo, kolkudesno, brzina, np.sqrt(prosecnovreme), kolkuceka, kolkuceka500, agolplus, agolminus,
  133.                  np.sqrt(kolkugore), zabrzuvanje, np.sqrt(jerk)], dtype=float)
  134.             predX[brojac] = niza
  135.             brojac +=1
  136.  
  137.             brzina = kolkutrening= vkupnovreme = agol =agolplus = agolminus =0
  138.             vremelevo = vremedesno = vremegore = vremedole = 1
  139.             kolkulevo = kolkudesno = kolkugore = kolkudole = rastprva = kolkuceka = kolkuceka500 = 0
  140.             brdole = brgore = brdesno = brlevo = 1
  141.     predX = normalize(predX)
  142.     return predX
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement