What is Interpolation in SCIPY:-
Interpolation is the process of finding a value between two points on a line or a curve.
This tool, interpolation, is not only useful in statistics, but is also useful in science, business, or when there is a need to predict values that fall within two existing data points.
scipy.interpolate package will be used for interpolation
Without interpolation first we show plot using x and y co-ordinate
import numpy as np
from scipy import interpolate
import matplotlib.pyplot as plt
x = np.linspace(0, 4, 12)
y = np.cos(x**2/3+4)
print(x,y)
plt.plot(x, y,’o’)
plt.show()
1-D Interpolation
he interp1d class in the scipy.interpolate is a convenient method to create a function based on fixed data points, which can be evaluated anywhere within the domain defined by the given data using linear interpolation.
Using the interp1d function, we created two functions f1 and f2. These functions, for a given input x returns y. The third variable kind represents the type of interpolation technique. 'Linear', 'Nearest', 'Zero', 'Linear', 'Quadratic', 'Cubic' are a few techniques of interpolation.
import numpy as np
from scipy import interpolate
import matplotlib.pyplot as plt
x = np.linspace(0, 4, 12)
y = np.cos(x**2/3+4)
f1 = interpolate.interp1d(x, y,kind = 'linear')
f2 = interpolate.interp1d(x, y, kind = 'cubic')
xnew = np.linspace(0, 4,30)
plt.plot(x,y,'o',xnew, f1(xnew), '-',xnew, f2(xnew), '--')
plt.legend(['data', 'linear', 'cubic','nearest'], loc = 'best')
plt.show()
Interpolation with UnivariateSpline
import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline
x = np.linspace(-3, 3, 50)
y = np.exp(-x**2) + 0.1 * np.random.randn(50)
spl = UnivariateSpline(x, y)
xs = np.linspace(-3, 3, 1000)
plt.plot(xs, spl(xs), 'r', lw = 10)
plt.show()
Post a Comment
If you have any doubt in programming or join online classes then you can contact us by comment .