Interpolation is the method of defining the function with the help of discrete points such that the defined function passes through all the required points and afterwards that can be used to find the points that lie in between the defined points.
Interpolation is mainly used in mathematics, scale the images and digital signal processing methods. It is a procedure to estimate the points that lie within a defined range. Interpolation methods can be used in creating various models in statistics. In this topic, we are going to learn about MATLAB Interpolation.
Working of Interpolation in Matlab with Syntax and Examples:
In Matlab, interpolation is the procedure of including new points within a defined range or a given set of points. It is used to find the missing data in the data set, smoothen the given data set or predict the outcome of the given data set. Various functions are associated with interpolation techniques. Here, we will mainly discuss one-dimensional interpolation or linear interpolation syntax:
- aq=interp1(x, a, xq): This returns the interpolated values of the function (one-dimensional) with the help of the linear interpolation method. The input ‘x’ is a vector that contains every sample point, a has the defined values and xq contains the coordinates. If there are many values, then a can be declared in an array.
- aq=interp1(x, a, xq, method): Here we can change the interpolation method, which we will discuss later. There are many interpolation methods like nearest, linear, next, previous, cubic, v5cubic, pchip, spline or makima. The default method used is always linear.
- aq=interp1(x, a, xq, method, extrapolation method): Extrapolation can be defined in the syntax if we want to check the points that are declared outside the defined value of x. We can mention extrapolation to ‘extrap’ if we want to apply the extrapolation algorithm to the points.
- aq=interp1(a, xq): This returns the interpolated values and a set of coordinates are assumed. The default set of numbers falls under a specific range of 1 to n, where n is decided according to the shape of a. If a is a vector, then the default set of points lies within a range of 1 to the length of a. If a is an array, then the default set of points lies within a range of 1 to size(a,1).
Examples of MATLAB Interpolation
Please find the below examples which explain the concept of linear interpolation in Matlab:
Example 1:
To define the sample values of x and a to find the interpolated values:
x = 0:pi/2:4*pi;
a = cos(x);
xq = 0:pi/12:4*pi;
aq = interp1(x,a,xq);
plot(x,a,'o',xq,aq,':.');
title('Default Interpolation');
Output:

Example 2:
To define the sample values of x and a to find the interpolated values using a different type of interpolated method.
x = 0:pi/2:4*pi;
a = cos(x);
xq = 0:pi/12:4*pi;
aq = interp1(x,a,xq,'cubic');
plot(x,a,'o',xq,aq,':.');
title('Cubic Interpolation');
Output:

The input arguments have certain criteria and rules like, first input value x should be a vector of only real numbers and values that are defined in it should be distinct. The length of x is dependent on another input argument i.e. ‘a’. If a is a vector, then the length of x should be equal to the length of a, while if a is an array, then the length of x should be equal to the size(a,1). The data types that are supported are double, single, datetime, duration.
The second input value i.e. ‘a’ can be a vector, matrix or an array of both complex and real numbers. The data type that is accepted is double, single, datetime, duration. It also supports complex numbers. The third input value contains all the query points; that can be vector, matrix, scalar or an array of real numbers. The data types that are accepted are double, single, datetime, duration.
Example 3:
To plot the interpolated values without defining the specified points:
a = [0 1.21 1 1.21 0 -1.21 -1 -1.21 0];
xq = 2.5:9.5;
aq = interp1(a,xq);
plot((1:9),a,'o',xq,aq,'*');
legend('a','aq');
Output:

There are various types of interpolation methods in Matlab.
Please find them below:
- Linear Interpolation Method: This is the default interpolation method used. It helps find the interpolated values at the query point which is based on the values of grid points in each dimension defined. There are certain limitations of this method like 2 points are at least required to use Linear Interpolation. Computation time and memory allocation is more as compared to the nearest algorithm method.
- Nearest Interpolation method: This method is used to find the interpolated values at the query point with the help of the nearest element at the sample grid point. It also requires at least 2 points to find the interpolated values. It has the fastest computation time.
- Next Interpolation Method: This method is used to find the interpolated values at the query point with the help of the next element at the sample grid point. It also requires at least 2 points to find the interpolated values. It has the fastest computation time.
- Previous Interpolation Method: This method is used to find the interpolated values at the query point with the help of the previous element at the sample grid point. It also requires at least 2 points to find the interpolated values. It has the fastest computation time.
- Pchip Interpolation Method: It is known as Shape-preserving piecewise cubic interpolation method, where the interpolated values are defined by the shape-preserving piecewise method. It requires at least four points to find the interpolated values. Memory allocation and computation time is more than the Linear Interpolation Method.
- Cubic Interpolation Method: This functions in the same way as defined in the above pchip Interpolation Method. Memory allocation and computation time is also the same as the pchip Interpolation method.
- Spline Interpolation Method: This method is used to find the interpolated values using the cubic interpolation of the values. It requires at least four points to find the interpolated values. Memory allocation and computation time is more than the pchip Interpolation Method.