create a binary sequence that consisting of m zeros and n ones in any order.

5 次查看(过去 30 天)
I need help to program a matlab code to generate a binary sequence that contains m zeros and n ones. I created a N lengths of zero, x1=zeros(1,N), but how to add n ones into the sequence of zeros.

采纳的回答

Star Strider
Star Strider 2014-11-23
The easiest way:
x1 = [zeros(1,N) ones(1,M)];
  1 个评论
Bear
Bear 2014-11-25
Thx alot and it works well, but I forgot to say the zeros and ones have to be placed in random order. Do you have any ideas how to do this.

请先登录,再进行评论。

更多回答(3 个)

Roger Stafford
Roger Stafford 2014-11-23
Or perhaps you want them in random order:
x = zeros(1,m+n);
p = randperm(1:m+n,n);
x(p) = ones(1,n);
  4 个评论

请先登录,再进行评论。


Azzi Abdelmalek
Azzi Abdelmalek 2014-11-23
编辑:Azzi Abdelmalek 2014-11-23
x1=[zeros(1,5) ones(1,4)]
%or
N=5;
n=4;
X1=1:n+N>N
  4 个评论
Bear
Bear 2014-11-27
There is a question on my further programming this code, For example, m=n=2. then the number of combinations of the binary sequence is 6,nchoosek(4,2). My code was fine to output the 6 combinations. However, the combinations are not unique. one or two combinations show twice. Here is the detail of question, you may want to click and take a look. generate the binary sequence Again, thank you for the great helps.

请先登录,再进行评论。


Jan
Jan 2014-11-23
And another apporach:
x1 = zeros(1, n+m);
x1(n+1:n+m) = 1;

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by