Pair comparison in from other rows

2 visualizzazioni (ultimi 30 giorni)
raj singh
raj singh il 26 Mag 2016
Risposto: raj singh il 29 Mag 2016
I have:
A1=[3 4]
A2=[3 1 4]
A3=[3 2 1 4]
want to convert as:
(3,4)
(3,1)(1,4)
(3,2)(2,1)(1,4)
Now I want to check, is any pair common in all rows (except first rows)
For example: combination (1,4) is common in 2 and 3 row. In the result, I want this pair. Please help me to complete this program.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 26 Mag 2016
A = {A1,A2,A3};
C = cellfun(@(x) hankel(x(1:end-1),x(end-1:end)),A,'un',0);
[a,~,c] = unique(cat(1,C{:}),'rows');
out = a(histc(c,1:size(a,1)) > 1,:);
  5 Commenti
raj singh
raj singh il 28 Mag 2016
Thanks Andrei sir, but i am using 2012a MATLAB, in which repelem and accumarray is not working. I don't have Matlab2016a. There is any other option to run run your given program.
raj singh
raj singh il 28 Mag 2016
Hello Image, Actually [A] represent the paths from one node to other node and i want common line in that paths. Do you have any suggestion for this ppg.

Accedi per commentare.

Più risposte (1)

raj singh
raj singh il 29 Mag 2016
A1=[1 4];
A2=[1 3 4];
A3=[1 2 3 4];
A4=[1 2 6 3 4];
I want common pairs from all row (vectors) except first row. It means my answer will be (3 4) and (1 2). First answer of Andrei sir, works perfect. May this is possible to print like this:
(Total no of row).........(Pair)............(How many times)
4 (3 4) 3
4 (1 2) 2

Community Treasure Hunt

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

Start Hunting!

Translated by