diff --git a/vector.py b/vector.py index 95c2da4..7f0b96c 100644 --- a/vector.py +++ b/vector.py @@ -1,4 +1,5 @@ # -*- coding: iso-8859-15 -* +from math import sqrt class Vector(object): def __init__(self, coordinates): @@ -39,6 +40,18 @@ class Vector(object): def times_scalar(self, c): new_coordinates = [c*x for x in self.coordinates] return Vector(new_coordinates) + + def magnitude(self): + #Länge + coordinates_squared = [x**2 for x in self.coordinates] + return sqrt(sum(coordinates_squared)) + + def normalized(self): + try: + magnitude = self.magnitude() + return self.times_scalar(1./magnitude) + except ZeroDivisonError: + raise Exception('Ein Null-Vektor kann nicht normalisiert werden') # Tests @@ -55,4 +68,6 @@ print vektor_1.plus(vektor_2) print vektor_2.minus(vektor_3) -print vektor_3.times_scalar(3) \ No newline at end of file +print vektor_3.times_scalar(3) + +print "Magnitude -- Länge ", vektor_3.magnitude() \ No newline at end of file