About matrix: how to make matrix binary (0 and 1)

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.

Antworten (1)

Matt Fig
Matt Fig am 17 Dez. 2012
Bearbeitet: Matt Fig am 17 Dez. 2012

0 Stimmen

S = dec2bin((1:32).') % If a string is o.k.
N = S - '0' % If you need a numeric matrix.

9 Kommentare

John Petersen
John Petersen am 17 Dez. 2012
How does the N=S-'0' work? I see that it does, very clever, but why?
JRC
JRC am 17 Dez. 2012
Thanks Matt Fig...
And it´s possible to do the matrix (-1 -1 -1 -1 -1), (-1 -1 -1 -1 1), (-1 -1 -1 1 1), (-1 -1 1 1 1),..., (1 1 1 1 1) with 32 possibilities of one and one minus using the matlab, and don´t hand.
José-Luis
José-Luis am 17 Dez. 2012
Bearbeitet: José-Luis am 17 Dez. 2012
@JRC: Add:
N(N==0) = -1;
Please accept an answer if it helps you.
%or
N(~N)=-1;
JRC
JRC am 17 Dez. 2012
Ok...
Thanks.
Matt Fig
Matt Fig am 17 Dez. 2012
Bearbeitet: Matt Fig am 17 Dez. 2012
John, MATLAB converts both strings to doubles then subtracts. It is the same as doing:
S - 48
Image Analyst
Image Analyst am 17 Dez. 2012
Bearbeitet: Image Analyst am 17 Dez. 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").
helpful
S = (dec2bin((1:32)) - '0') * 2 - 1
S = 32×6
-1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1

Melden Sie sich an, um zu kommentieren.

Gefragt:

JRC
am 17 Dez. 2012

Kommentiert:

am 15 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by