How to interpolate one axis in a 3D data?

1 view (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)

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!