コード例 #1
0
ファイル: PCA.py プロジェクト: Xeonus/SemesterProject
  
  return coords

 #Functions to do operations in list elements
def addlists(list1, list2):
  return [x+y for x,y in zip(list1,list2)]

def sublists(list1, list2):
  return [x-y for x,y in zip(list1,list2)]
  
def divlist(liste, n):
  return [ x/n for x in liste]

#Calculate the center of mass
center=[0,0,0]
coords=getNodeCoordinates(tree)  
for node, coord in coords:
  center=addlist(center, coord)
center=divlist(center, len(coords))
print center

#Calculate x*x^T
# [[row1], [row2], [row3]]

rows=[[0,0,0],[0,0,0],[0,0,0]]
for node, coord in coords:
  diff=sublists(coord, center)
  for i in range(0,len(center)):
    for j in range(0,len(center)):
      rows[i][j] = diff[i]*diff[j]
	
コード例 #2
0
  
  return coords

 #Functions to do operations in list elements
def addlists(list1, list2):
  return [x+y for x,y in zip(list1,list2)]

def sublists(list1, list2):
  return [x-y for x,y in zip(list1,list2)]
  
def divlist(liste, n):
  return [ x/n for x in liste]

#Calculate the center of mass
center=[0,0,0]
coords=getNodeCoordinates(tree)  
for node, coord in coords:
  center=addlist(center, coord)
center=divlist(center, len(coords))
print center

# [[row1], [row2], [row3]]

rows=[[0,0,0],[0,0,0],[0,0,0]]
for node, coord in coords:
  diff=sublists(coord, center)
  for i in range(0,len(center)):
    for j in range(0,len(center)):
      rows[i][j] = diff[i]*diff[j]
	
#Eigenvaluedecomposition