generate unrepeated pairs from randi

2 visualizaciones (últimos 30 días)
mingcheng nie
mingcheng nie el 2 de Sept. de 2023
Editada: Bruno Luong el 2 de Sept. de 2023
I have two variables A and B. They are independently generated from randi with different range. For example, A=randi([0,5],1,5); B=randi([-3,3],1,5);
Now I assume the element in A along with the corresponding element in B consist a pair C, where C is of size 1×5. However, I don't want any pair in C is repeated. If repeated, just generate B again until the pair is unrepeated. Is there any simple code can realize this?
  1 comentario
Dyuman Joshi
Dyuman Joshi el 2 de Sept. de 2023
Did you mean that C is 2x5?
Also, to confirm, if there is a repeated pair, you just want to regenerate B?

Iniciar sesión para comentar.

Respuestas (1)

Bruno Luong
Bruno Luong el 2 de Sept. de 2023
Editada: Bruno Luong el 2 de Sept. de 2023
a = 0:5;
b = -3:3;
n = 20; % 5 in your case
na = length(a);
nb = length(b);
[A,B] = ind2sub([na nb], randperm(na*nb, n));
A = a(A);
B = b(B);
C = [A(:) B(:)]
C = 20×2
5 -1 2 2 4 1 5 -3 3 -1 1 3 1 2 1 -2 1 1 4 -2

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by