performance - Compare two cell arrays for identical rows - MATLAB -


I have a cell string matrix with lines 40,000 and a 400 . I need to find the row (rows) in the first matrix which corresponds to the second . Please note that there may be several recursive.

It looks like: 40,000 lines like

  Anna Frank Anna George Jane Peter Anna George Jane Peter etc.  

Here I got the

  advanced George Jane Peter  

The only way was to find two For between functions and a if but it is quite slow: for i = 2:

  size: big size, 1) For j = 1: size (small, 1) if zodiac (member (large table (i, 1: 2)), smallest (j, 1: 2))) == 2 total_r (size (total_r, 1) + 1,1) = i; Finally end  

I assume that your input is set in this way -

'' '' Anna '' Frank '' Anna '' George '' Jane '' Peter 'Anna' 'George' 'Jane' 'Peter' 'Little' 'Anna' 'George' 'Jane' 'Your To solve the case, two methods can be suggested here.

Approach # 1

ismember based approach -

  total_r = search (amount) (Large Tables, Shorty, 'Rows'), 2) == 2)  

Approach # 2

 % / / Assign a unique label for each cell in both small and large cell arrays, so that you would have to deal with numerical arrays later in% // and you were slowing down% // that there is no mess with the cell arrays. [Unqbig, matches1, idx] = unique ([ BigTable (:); smallTable (:)) big_labels = reshape (idx (1: newzell), size (bigtable) small_labels = reshape (idx (numel (bigtable) +1: end), size (smallTable) )% / Find out which rows from small_labels exactly match the big_labels total_r = get (ismember (big_labels, small_labels, 'rows'))  

or that Change ismember to the last line with the implementation of bsxfun based

  total_r = search (any) (all (BSXfan (@ eq, big_labels, permute (Small_labels, [3 2 1]), 2), 3))  

Output from these inputs case for these input -

  total_r = 2 3 4 5  
< / Html>

Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -