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 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Youssef
el 13 de Abr. de 2017
Comentada: Youssef
el 13 de Abr. de 2017
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 comentario
Image Analyst
el 13 de Abr. de 2017
I don't understand the rule(s). Why does A(1,1) get compared to B(1,1) but the second element of the first column of A get compared to two elements of B, and the third element of the first column of A gets compared to B(2,1) but then B(2,1) gets compared to B(1,1)? Why do you need to do this complicated thing?
Respuesta aceptada
Santhana Raj
el 13 de Abr. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Statistics and Machine Learning Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!