# Interpolation Exercise 1

``````

In :

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

``````
``````

In :

from scipy.interpolate import interp1d

``````

## 2D trajectory interpolation

The file `trajectory.npz` contains 3 Numpy arrays that describe a 2d trajectory of a particle as a function of time:

• `t` which has discrete values of time `t[i]`.
• `x` which has values of the x position at those times: `x[i] = x(t[i])`.
• `x` which has values of the y position at those times: `y[i] = y(t[i])`.

Load those arrays into this notebook and save them as variables `x`, `y` and `t`:

``````

In :

t = data['t']
x = data['x']
y = data['y']

``````
``````

In :

assert isinstance(x, np.ndarray) and len(x)==40
assert isinstance(y, np.ndarray) and len(y)==40
assert isinstance(t, np.ndarray) and len(t)==40

``````

Use these arrays to create interpolated functions \$x(t)\$ and \$y(t)\$. Then use those functions to create the following arrays:

• `newt` which has 200 points between \$\{t_{min},t_{max}\}\$.
• `newx` which has the interpolated values of \$x(t)\$ at those times.
• `newy` which has the interpolated values of \$y(t)\$ at those times.
``````

In :

newt = np.linspace(t.min(),t.max(),200)
fx = interp1d(t,x,kind = 'cubic')
fy = interp1d(t,y,kind = 'cubic')
newx = fx(newt)
newy = fy(newt)

``````
``````

In :

assert newt==t.min()
assert newt[-1]==t.max()
assert len(newt)==200
assert len(newx)==200
assert len(newy)==200

``````

Make a parametric plot of \$\{x(t),y(t)\}\$ that shows the interpolated values and the original points:

• For the interpolated points, use a solid line.
• For the original points, use circles of a different color and no line.
• Customize you plot to make it effective and beautiful.
``````

In :

plot = plt.gca()
plt.title('Trajectory')
plt.xlabel('Horizontal Distance')
plt.ylabel('Verital Distance')
plt.plot(newx,newy)
plt.plot(x,y,'bo',color = 'g');

``````
``````

``````
``````

In [ ]:

assert True # leave this to grade the trajectory plot

``````