Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- t=np.arange(dt,10,dt)
- theta = np.array(j_i)
- traj = pd.DataFrame({'t': t, 'x': theta[:]})
- print((time))
- print((theta))
- def compute_msd(trajectory, t_step, coords=['x']):
- tau = trajectory['t'].copy()
- shifts = np.floor(tau / t_step).astype(np.int)
- msds = np.zeros(shifts.size)
- msds_std = np.zeros(shifts.size)
- for i, shift in enumerate(shifts):
- diffs = trajectory[coords] - trajectory[coords].shift(-shift)
- sqdist = np.square(diffs).sum(axis=1)
- msds[i] = sqdist.mean()
- msds_std[i] = sqdist.std()
- msds = pd.DataFrame({'msds': msds, 'tau': tau, 'msds_std': msds_std})
- return msds
- # Compute MSD
- msd = compute_msd(traj, t_step=dt, coords=['x'])
- print(msd.head(10))
- # Plot MSD
- ax = msd.plot(x="tau", y="msds", logx=True, logy=True, legend=False)
- ax.fill_between(msd['tau'], msd['msds'] - msd['msds_std'], msd['msds'] + msd['msds_std'], alpha=0.2)
- # np.savetxt("MSD%d"%k, MSD)
- # np.savetxt("Tau%d"%k,tau_i)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement