Cut out piece of matrix based upon other matrix

2 views (last 30 days)
yoni verhaegen
yoni verhaegen on 23 Mar 2017
Edited: Jan on 23 Mar 2017
Hi,
I have a DEM of an area represented by an array 46592x3 (first colom: X-coordinate, second colom: Y-coordinate, third colom: elevation). Next to that, I have a 11155x3 matrix (first colom: X-coordinate, second colom: Y-coordinate, third colom: 0 of no glacier present and 1 if glacier present). The extent of the second matrix lays completely within the first matrix.
I now want to cut out that part of the DEM (first array) where only the glacier is present (value 1 in the second array).
Can someone help me?
Thanks!

Answers (1)

Jan
Jan on 23 Mar 2017
Edited: Jan on 23 Mar 2017
glacierPos = B(B(:, 3) == 1, 1:2); % Coordinates of glacier
inGlacier = ismember(DEM(:, 1:2), glacierPos, 'rows');
Wanted = DEM(inGlacier, :);

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!