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 Logical 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!