Comparing arrays and getting the index of extra rows
1 次查看（过去 30 天）
There are two arrays: A with 8916x3 and B with 6571x3. Each 1x3 set represents xyz coordinates. Array A has some extra coordinates/rows.
I want to compare xyz row by row, and return the index of rows in A that do not exist in B. Then use this index to remove the corresponding extra data from array C (basically C is 8916x3 and it has to be 6571x3 same as B, while keeping the order of rows).
Here's my code but I ge this error: "too many outputs"
C(index,:) = ;
% example arrays
B = randi(99,5,3)
A = [B; randi(99,3,3)];
A = A(randperm(size(A,1)),:)
% i'm assuming C is some separate array?
C = rand(size(A))
% extract rows from C where A is a member of B, preserving order
C = C(ismember(A,B,'rows'),:)