How to interpolate/grid logical data?

9 views (last 30 days)
Laura
Laura on 13 Oct 2012
Hello All,
I did not find answers for my question, so I post it here:
I have a matrix of logical gridded data (0 or 1), how could I interpolate them to finer scale gridded data?
E.g., originally, it is X=[1:3:22];Y=[1:3:10]; DATA=[0 0 0 0; 0 0 0 0; 0 1 1 0; 0 1 1 0; 0 1 1 0; 0 1 1 0; 0 0 0 0; 0 0 0 0]; Now I want to interpolate DATA to a new data (also a logical matrix), with X=[1:22];Y=[1:10];
Since I use these data to describe the shape of something. If I use interp2 or griddata, the shape of the matrix will be distorted. I could, of course, write a for loop to check point by point. But I really wish there is another elegant way to deal with this simple problem!!!
Thanks a lot,
Laura
  1 Comment
Matt J
Matt J on 13 Oct 2012
Clarify what you mean by "If I use interp2 or griddata, the shape of the matrix will be distorted."
If you do interp2(DATA,(1:22),(1:10).') then the resulting matrix will be 10x22. In what way is this a distorted shape? What is the shape that you do want?

Sign in to comment.

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!