Azzera filtri
Azzera filtri

Random Binary Matrix with certain weight

3 visualizzazioni (ultimi 30 giorni)
In leaner codes (n,k), I want to generate a random binary matrix of size (1, n) with weight (t)
I can use A = randi ([0 1], 1, n); OR A=fix(2*rand(1,n));
But this will generate a matrix A of different weights. To get a vector of weight (t), will need exhaustive search which is time-consuming.
I need a command that can generate this matrix or vector of weight (t) distributed randomly in A=(1,n).
Can you help pls?

Risposta accettata

Walter Roberson
Walter Roberson il 25 Nov 2016
v = [ones(1,t), zeros(1,n-t)];
A = v( randperm(n) );

Più risposte (1)

John BG
John BG il 26 Nov 2016
Moe
the weight function that you may be asking for is the shape of
w=randperm(numel(nA))/sum(nA)
this w is only an example, but the key point you need to have in the weight vector is
sum(w)
=
1
I understand that because you add time dependency to the weight vector w, this is going to change, so fast does w change?
John BG
  2 Commenti
Moe Joe
Moe Joe il 26 Nov 2016
Modificato: Moe Joe il 26 Nov 2016
No dear, t is not time, it refers to the number of errors in the Victor of length n. The idea is to generate a Victor of length n, and weight t. The answer of Walter is perfect. I appreciate both of you.
John BG
John BG il 1 Dic 2016
good to know, next time please give all question related in one go, not by instalments, will you?

Accedi per commentare.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by