Categories

# Matlab Interpolation

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');`

### 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.