how to extract another matrix out of a big matrix

1 view (last 30 days)
Hello I have a big matrix including many rows and 2 columns. first column is the wavelengths. I need to extract another matrix out of it based on some specific wavelength value and I dont need the rest of data. for example this is my main matrix:
A=[420 0.23;421 0.26;422 0.25;423 0.24;424 0.28;425 0.27]
but I know that I just need values corresponding to (420 422 425) in the first column , so what i need is:
B=[420 0.23;422 0.25;425 0.27]
how can I ask to extract data for these three specific values in the first column? I cant refer to them by their position in matrix since it is not fix. thanks !

Accepted Answer

James Tursa
James Tursa on 11 Sep 2017
v = [420,422,425];
B = A(ismember(A(:,1),v),:);

More Answers (1)

Stephen23
Stephen23 on 11 Sep 2017
>> A=[420 0.23;421 0.26;422 0.25;423 0.24;424 0.28;425 0.27]
A =
420 0.23
421 0.26
422 0.25
423 0.24
424 0.28
425 0.27
>> idx = ismember(A(:,1),[420,422,425]);
>> A(idx,:)
ans =
420 0.23
422 0.25
425 0.27

Categories

Find more on Resizing and Reshaping Matrices 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!