How do I exclude data knowing the rownumbers?

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.

답변 (2개)

Guillaume
Guillaume 2016년 3월 21일

1 개 추천

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 2016년 3월 21일

0 개 추천

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.

카테고리

태그

질문:

Sam
2016년 3월 17일

답변:

2016년 3월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by