# I do have a matrix A(n,n) and a matrix B(m,n) m<n and want to create a third matrix C(n,n) where C(i,j)= k if A(i,j)<=B(k,j) && if A(i,j)>B(k-1,j).

1 view (last 30 days)

Show older comments

The question is to rank the element of each vector (column) in A(n,n) according to the order in B(m,n) and get a new matrix with these ranks. It is a classification of elements by column : example:

A = [0 4 7 ;

1 3 5 ;

3 3 6 ]

B = [0 0 1 ;

3 1 2 ]

A(1,1)<=B(1,1)==>C(1,1)=1<---the index of zero in B;

A(2,1)>B(1,1)=0 && A(2,1)<=B(2,1) ==> C(2,1)=2

A(3,1)==B(2,1)> B(1,1)=0 ==> C(3,1)=2 and go next to the second column, then next one to get

C=[1 2 2, C(:,2),C(:,3)]

##### 1 Comment

Image Analyst
on 13 Apr 2017

### Accepted Answer

Santhana Raj
on 13 Apr 2017

You can create three nested loops for i, j and k. and check for your condition:

if ((A(i,j)<=B(k,j) && (A(i,j)>B(k-1,j))

Take care that, when k=1, you cant check both the conditions and only the first conditions is to be applied.

Hope it helps.

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!