Create a Matrix - Replace elements of a Matrix

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 !

 采纳的回答

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 个评论

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 ]
Indeed...my problem was that I didn't know the existance of "randperm" command.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by