Create a matrix of binary numbers generated by sequence

2 visualizzazioni (ultimi 30 giorni)
I want to create a general matrix to create outputs of the below format...
if n=1
output=[1 0]
if n=2
output=[1 1
1 0
0 1
0 0]
if n=3
output=[1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0]
for any number of n; the output matrix will be of the order of [2^n X n]

Risposta accettata

the cyclist
the cyclist il 30 Mar 2014
output = dec2bin(2^n-1:-1:0)-'0'
  9 Commenti
Sodamn Insane
Sodamn Insane il 27 Mar 2019
The -'0' converts the output of dec2bin from a character array with each combination as a row element to a matrix with the type of double.
Muhammad Atif Ali
Muhammad Atif Ali il 29 Ott 2021
this - '0' was the whole trick. I wasted more than 2 hours trying to figure this out.

Accedi per commentare.

Più risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 30 Mar 2014
Modificato: Azzi Abdelmalek il 30 Mar 2014
n=3;
s=0:1;
idx=rem(nchoosek(0:2^n-1,n),2)+1;
out=flipud(unique(s(idx),'rows'))

görkem tatar
görkem tatar il 18 Giu 2021
y =dec2bin(x)
x = 'dec variable'
y = 'convertion of the dec variable to bin'

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by