Create a Matrix - Replace elements of a Matrix

3 visualizzazioni (ultimi 30 giorni)
I want to create a row of a matrix which consist of 16 zeros and random replace 4 of the first 8 elements with ones and 2 of the last 8 elements with ones.
i.e A = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;]
Then B= [ 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 ; ]
The ones should be replaced randomly in their positions as explained before.
Any help could be useful.
Thanks in advance !

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 13 Dic 2014
A = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
B=A
B([randperm(8,4) randperm(8,2)+8])=1
  3 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 13 Dic 2014
You can write
A=zeros(1,16)
instead of
A = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
Konstantinos
Konstantinos il 13 Dic 2014
Indeed...my problem was that I didn't know the existance of "randperm" command.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by