extract matrix from matrix with the values of the axis

x=linspace(0,8,91);
y=linspace(1,3,56);
I have a matrix DL1 (91x46) and need to extract DL2 =DL1(DL1<=2) and the values of the x and y axis from DL1 corresponding to DL2.
Please help

 Accepted Answer

KSSV
KSSV on 14 Aug 2020
Edited: KSSV on 14 Aug 2020
[m,n] =size(DL1)
x=linspace(0,8,n);
y=linspace(1,3,m);
[X,Y] = meshgrid(x,y) ;
%
idx = DL1<2 ;
idx = idx' ;
iwant = [X(idx) Y(idx)]

8 Comments

I have pasted it into command window, it says:
Index exceeds matrix dimensions.
Missed one line in the code......edited the answer.
thanks, you have saved me a lot of time
uups, how come DL2 =DL1(DL1<=2) becomes an array, how do I keep it as a matrix?
You cannot keep it as a matrix..it will become a vector. If you want it to be matrix,, the option is make other elements NaN's.
idx = DL1<=2 ;
DL2 = DL1 ;
DL2(~idx) = NaN ;
isn't possible to extract values of DL1 corresponding to X(idx) and Y(idx) in shape of a matrix?
or extract x and y values for the none NaN part of the DL2?

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 14 Aug 2020

Commented:

on 14 Aug 2020

Community Treasure Hunt

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

Start Hunting!