Coordinates of non-animated object in frames with python [v.2.77] I want to create a few animations of a flying ball with initial velocity and get its collision point with a wall. Therefore I created a sphere and 2 keyframes (using animated option in rigid body). At the second keyframe I turned off the animated option to let the physic engine take over. Everything works fine until now. For my purposes, however, I need to track the coordinates of the sphere to get the collision point with the wall. 
During the animated part, I can use

obj.location


For the second part I found out that

ob = bpy.data.objects['Sphere']
bpy.context.scene.frame_current = some_number
bpy.context.scene.update()
print(ob.matrix_world.to_translation())


works. However, as soon as I want to loop over all frames:

for i in range(1,max_frames):
    bpy.context.scene.frame_current = i
    bpy.context.scene.update()
    print(ob.matrix_world.to_translation())


it is not working anymore, e.g. it always prints the starting position. It seems that update() does not update the position correctly, I found the "set_frame" method in some older posts but it seems not to exist anymore in v2.77. Any suggestions how I could solve this problem?
Replace

bpy.context.scene.frame_current = i
bpy.context.scene.update()


with

bpy.context.scene.frame_set(i)


scene.frame_current = x might appear to work as expected in the python console, but in scripts like in you q, which demonstrates why not to use it, as its value not used in the scripts execution.