Effacer les filtres
Effacer les filtres

How to randomly repeat an array elements?

1 vue (au cours des 30 derniers jours)
Ved
Ved le 20 Oct 2013
Commenté : Ved le 20 Oct 2013
I have a 1x4 array as,
P = [1, -1, j, -j]
How to form a New " 1x16 random array " using only four elements of 'P' ?
This new 1x16 array should have random arrangement of elements of 'P',(i.e.,irrespective of order of elements of 'P')

Réponse acceptée

Jos (10584)
Jos (10584) le 20 Oct 2013
Here is an approach:
P = [1 -1 j -j]
N = 16 ;
ix = ceil(numel(P)*rand(1,N)) % random indices into P
Y = P(ix)
If you have access to RANDI, you could use that function as well.
If you want to have each element of P repeated four times, but all in random order, try this:
Y = repmat(P,1,4)
Y = Y(randperm(numel(Y)))
  1 commentaire
Ved
Ved le 20 Oct 2013
@Jos(10584): Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 20 Oct 2013
P = [1, -1, j, -j];
a=perms(1:4);
id=randi(size(a,1),4,1);
idx=a(id,:);
out=P(idx(:))'
  1 commentaire
Ved
Ved le 20 Oct 2013
@Azzi: Thank you very much.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by