About matrix: how to make matrix binary (0 and 1)
Show older comments
I need write the matrix (0 0 0 0 0), (1 0 0 0 0), (1 1 0 0 0), (1 1 1 0 0),..., (1 1 1 1 1) with 32 possibilities of zero and one using the matlab, and don´t hand.
Thanks.
Answers (1)
S = dec2bin((1:32).') % If a string is o.k.
N = S - '0' % If you need a numeric matrix.
9 Comments
John Petersen
on 17 Dec 2012
How does the N=S-'0' work? I see that it does, very clever, but why?
JRC
on 17 Dec 2012
@JRC: Add:
N(N==0) = -1;
Please accept an answer if it helps you.
Azzi Abdelmalek
on 17 Dec 2012
%or
N(~N)=-1;
JRC
on 17 Dec 2012
John, MATLAB converts both strings to doubles then subtracts. It is the same as doing:
S - 48
Image Analyst
on 17 Dec 2012
Edited: Image Analyst
on 17 Dec 2012
You can also cast to logical if you want a boolean type of variable:
logicalVariable = logical(doubleVariable);
Logical variables are useful in indexing, especially in image processing. In image processing a "binary" variable is usually assumed to be of logical type ("class").
Rabiya Tanveer
on 15 Aug 2021
helpful
S = (dec2bin((1:32)) - '0') * 2 - 1
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!