How do I exclude data knowing the rownumbers?

3 visualizaciones (últimos 30 días)
Sam
Sam el 17 de Mzo. de 2016
Respondida: Guillaume el 21 de Mzo. de 2016
In parameter 'I' i have the rownumbers of the values i want to keep in a dataset. All the other rows have to be deleted. How do i do this?
[num,txt,raw] = xlsread('cg_uit_beta2');
A = txt(:,1);
[num2,txt2,raw2] = xlsread('cg_uit_beta2_2');
B = txt2(:,1);
L = ismember(A,B);
I = find(L); %this is a 1197 vector, containing the rownumbers of the values i want to keep.

Respuestas (2)

Guillaume
Guillaume el 21 de Mzo. de 2016
find and your I array is not needed. You can directly use the logical array returned by ismember:
A(ismember(A, B)) = []; %remove elements in A that are not found in B
%or
C = A(ismember(A, B)); %copy elements of A that are found in B

Pavithra Ashok Kumar
Pavithra Ashok Kumar el 21 de Mzo. de 2016
As per my understanding, l = array of indices that needs to be preserved and A is the complete matrix. If you have the list of rows you want to keep, use this way:
C = A;
C = C(l, :);
C would contain only the required indices. Hope this helps.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by