How to map points in Vector A with points in vector B?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rayan Glus
el 10 de Mzo. de 2021
Comentada: Rayan Glus
el 13 de Mzo. de 2021
Hi,
I have two row vectors with the same size.
A = randi(100,1,100);
B = randi([101, 200],1,100);
I want to have another row vector AB where :
AB(i) = j ;% i and j are elements in A and B respectively
AB(j) = i;
AB's length supposed to be length of A + length of B, correct? What if in one case i and j happens to have the same value when both A and B are :
A = randi(100,1,100);
B = randi(100,1,100);
Thanks!
2 comentarios
Jorg Woehl
el 10 de Mzo. de 2021
Editada: Jorg Woehl
el 10 de Mzo. de 2021
Rayan, can you clarify what you mean with AB(i)=j and AB(j)=i where "i and j are elements in A and B respectively"? Or, more precisely, what is the link between i and j?
Taking a simple example:
A = randi(100,1,5)
A =
21 31 48 24 85
B = randi([101, 200],1,5)
B =
120 123 118 123 144
Do you now want AB(21)=120, and AB(120)=21, meaning that i and j are the corresponding elements in A and B? Or, expressed mathematically: i=A(k) and j=B(k) for a given k?
If that's the case, the vector AB cannot be constructed, because several elements of A can have the same value, let's say "19". That means that A(19) cannot be uniquely defined. And the same argument holds for vector B. (I think this is the question that you were pondering,too.)
Respuesta aceptada
Steven Lord
el 10 de Mzo. de 2021
So you want something like this?
v = randperm(10) % Shuffle the numbers from 1 to 10
A = v(1:5) % Cut the "deck"
B = v(6:10)
AB = zeros(1, 10);
AB(A) = B;
AB(B) = A
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!