How to interpolate one axis in a 3D data?

4 vues (au cours des 30 derniers jours)
Ahmed
Ahmed le 4 Mar 2024
Commenté : Matt J le 4 Mar 2024
I have a data dats.mat attached here in which ss is of size 139 48 9. Here 9 is number of vertical layers and I want to digitize and interplotate 9 layers say equal to 100 layers (e.g., 1:100). How can I interpolate only 1D dimension in MATLAB keep \ing all the others same?

Réponse acceptée

Matt J
Matt J le 4 Mar 2024
Modifié(e) : Matt J le 4 Mar 2024
load dats;
F=griddedInterpolant(ss);
ss=F({1:139,1:48, linspace(1,9,100)});
  3 commentaires
Ahmed
Ahmed le 4 Mar 2024
@Matt J Thanks if I use this ss=imresizen(ss,[1,1,100]);, 9 will be multiplied with 100 and there will 900 layers e.g., final size will 139 48 900. Is it like this?
Matt J
Matt J le 4 Mar 2024
Sorry, no, I meant
ss=imresizen(ss,[1,1,100/9])

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by