Reduce Matrix size with interpolated data arrays
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Benyamin Nemati
le 10 Mar 2021
Réponse apportée : Jan
le 11 Mar 2021
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 commentaires
Réponse acceptée
Mathieu NOE
le 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 commentaires
Plus de réponses (1)
Jan
le 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 commentaires
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!