Create a Matrix - Replace elements of a Matrix

4 ビュー (過去 30 日間)
Konstantinos
Konstantinos 2014 年 12 月 13 日
コメント済み: Konstantinos 2014 年 12 月 13 日
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 !

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 12 月 13 日
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 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 12 月 13 日
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 2014 年 12 月 13 日
Indeed...my problem was that I didn't know the existance of "randperm" command.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by