How to interpolate one axis in a 3D data?

4 views (last 30 days)
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?

Accepted Answer

Matt J
Matt J on 4 Mar 2024
Edited: Matt J on 4 Mar 2024
load dats;
F=griddedInterpolant(ss);
ss=F({1:139,1:48, linspace(1,9,100)});
  3 Comments
Ahmed
Ahmed on 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 on 4 Mar 2024
Sorry, no, I meant
ss=imresizen(ss,[1,1,100/9])

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!