Reduce Matrix size with interpolated data arrays
10 views (last 30 days)
Show older comments
Hi,
I have a 360*720 precipitation matrix with values in milimeter, and i desire a 180*360 matrix with interpolated data to compare my precipitation with other 180*360 data.
here you can see the original 360*720 plot of my data. please help me on this.
Thank you.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/545037/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/545037/image.jpeg)
0 Comments
Accepted Answer
Mathieu NOE
on 10 Mar 2021
hello
simply use a 2D interpolation with the appropriate new Xq and Yq vectors
interp2 2-D interpolation (table lookup).
Vq = interp2(X,Y,V,Xq,Yq) interpolates to find Vq, the values of the
underlying 2-D function V at the query points in matrices Xq and Yq.
Matrices X and Y specify the points at which the data V is given.
2 Comments
More Answers (1)
Jan
on 11 Mar 2021
The mean over neighboring rows and columns is smarter than a linear interpolation, which just omits the intermediate rows and columns:
x = rand(360, 720);
y = x(1:2:end, :) + x(2:2:end, :);
z = (y(:, 1:2:end) + y(:, 2:2:end)) / 4;
0 Comments
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!