import math def addVectors(a, b): return [a1 + b1 for a1, b1 in zip(a, b)] def subtractVectors(a, b): return [a1 - b1 for a1, b1 in zip(a, b)] def sumOfvectors(a): return reduce(addVectors, a) def multiplyVectors(a, s): return [a1 * s for a1 in a] def meanOfvectors(a): n = float(len(a)) return multiplyVectors(sumOfvectors(a), 1/n) def dot(a, b): return sum(a1 * b1 for a1, b1 in zip(a, b)) def sumOfSquares(a): return dot(a, a) def magnitude(a): return math.sqrt(sumOfSquares(a)) def squaredDistance(a, b): return sumOfSquares(subtractVectors(a, b)) def distance(a, b): return magnitude(subtractVectors(a, b)) x = [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]] print sumOfvectors(x) print meanOfvectors(x) print sumOfSquares(x[0]) print dot(x[0], x[1]) print magnitude(x[0]) print distance(x[0], x[1])
0 Comments
|
ArchivesCategories |