Commit b05581a294d3764f81524811913faff08600a76d

Authored by Anthex
1 parent 23328613

simplified function

Showing 2 changed files with 9 additions and 10 deletions   Show diff stats
... ... @@ -39,7 +39,7 @@ def main(args):
39 39 print ("\ndistances : " + str(testSample.distances))
40 40  
41 41 #### Barycenter ####
42   - a = resolve_barycenter(neighborsCells, testSample)
  42 + a = resolve_barycenter(neighborsCells, testSample.distances)
43 43 print(a.toString())
44 44  
45 45 #### Markov ####
... ...
structure.py
... ... @@ -68,17 +68,16 @@ def KNeighbors(fingerprints, sample):
68 68  
69 69  
70 70  
71   -def resolve_barycenter(neighbourCells, sample):
  71 +def resolve_barycenter(nC, d):
72 72 '''
73 73 Returns the weighted barycenter of the 4 neighbouring cells
74   - :param Cell[4] neighbourCells: Array containing the 4 closest cells
75   - :param RSSIVector sample: Sample of the mobile terminal
  74 + :param Cell[4] nC: (neighborCells) Array containing the 4 closest cells
  75 + :param distance[4] d: distances of the sample of the mobile terminal
76 76 :return Location: Estimated location of the mobile terminal (return None if error)
77 77 '''
78   - d = sample.distances #shorter notation
79   - a1,a2,a3,a4 = 1 / (1+d[0]/d[1]+d[0]/d[2]+d[0]/d[3]),\
80   - 1 / (1+d[1]/d[0]+d[1]/d[2]+d[1]/d[3]),\
81   - 1 / (1+d[2]/d[1]+d[2]/d[0]+d[2]/d[3]),\
82   - 1 / (1+d[3]/d[1]+d[3]/d[2]+d[3]/d[0])
83   - return None if a1+a2+a3+a4 != 1.0 else a1*neighbourCells[0].location + a2*neighbourCells[1].location + a3*neighbourCells[2].location + a4*neighbourCells[3].location
  78 + return None if len(nC) != 4 else \
  79 + 1 / (1+d[0]/d[1]+d[0]/d[2]+d[0]/d[3])*nC[0].location \
  80 + + 1 / (1+d[1]/d[0]+d[1]/d[2]+d[1]/d[3])*nC[1].location \
  81 + + 1 / (1+d[2]/d[1]+d[2]/d[0]+d[2]/d[3])*nC[2].location \
  82 + + 1 / (1+d[3]/d[1]+d[3]/d[2]+d[3]/d[0])*nC[3].location
84 83  
85 84 \ No newline at end of file
... ...