Creating a logical array

812 visualizzazioni (ultimi 30 giorni)
E K
E K il 4 Ago 2012
Commentato: Image Analyst il 16 Gen 2023
hi guys,
How can i create a logical array [1 0 1 0 1 1 ....] 1-by-15 it will go into gamultiobj with bitstring so the the arranging is not important.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 4 Ago 2012
x=boolean([0 1 0 1 0 1 0 1])
  1 Commento
Image Analyst
Image Analyst il 16 Gen 2023
Note: the boolean function is only in the Stateflow toolbox which is kind of rare. See the warning in the help:
The operator boolean is supported only in Stateflow® charts. In MATLAB®, use logical.
If you don't have the Stateflow toolbox, use logical as shown in the other answers below. Actually, even if you do have it, I think you should use logical instead, especially for portability of your code.

Accedi per commentare.

Più risposte (2)

Image Analyst
Image Analyst il 4 Ago 2012
Modificato: Image Analyst il 16 Gen 2023
To get a random placement of trues and falses, use randi
logicalArray = logical(randi(2, [1 15]) - 1)
logicalArray = 1×15 logical array
1 1 1 1 0 0 0 1 1 0 1 0 0 0 1
Otherwise you can put in exactly what you want:
logicalArray = logical([1, 0, 1, 0, 1, 1])
logicalArray = 1×6 logical array
1 0 1 0 1 1

Captain Karnage
Captain Karnage il 16 Gen 2023
What's the ultimate goal? If you need to initialize a logical array, you can use true or false:
either
logicalArray = false(1,15);
-OR-
logicalArray = true(1,15);
will initialize a 1x15 logical array that you can then set the individual values for, then if you set any element, like
logicalArray(5) = 1;
It will be of type logical rather than double.
If you already know your entire array, you can also do it manually with true and false:
logicalArray = [ true false true false true true true false true false true true true false true ];
will output
1 x 15 logical array
[ 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1]

Community Treasure Hunt

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

Start Hunting!

Translated by