Open
Description
For this exercise the solution is given as:
def gen_data(x0, dx, count, noise_factor, accel=0.):
zs = []
for i in range(count):
zs.append(x0 + accel * (i**2) / 2 + dx*i + randn()*noise_factor)
dx += accel
return zs
If I'm understanding this correctly, this is basically sampling the closed form solution of integrating the acceleration to get the distance travelled with some random noise. The closed form solution is:
Which matches the expression in the solution, but I was confused by the incrementing of dx. My understanding is that dx is v0 so there's no need to increment it over time. The velocity is increasing, but dx in this expression shouldn't go up for each sample since that's already accounted for by the integration being used. Based on this I believe the solution should be:
def gen_data(x0, dx, count, noise_factor, accel=0.):
zs = []
for i in range(count):
zs.append(x0 + accel * (i**2) / 2 + dx*i + randn()*noise_factor)
return zs
Doesn't effect the actual lesson being communicated here, though.
Metadata
Metadata
Assignees
Labels
No labels