Creating a logical array

680 次查看(过去 30 天)
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.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2012-8-4
x=boolean([0 1 0 1 0 1 0 1])
  1 个评论
Image Analyst
Image Analyst 2023-1-16
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.

请先登录,再进行评论。

更多回答(2 个)

Image Analyst
Image Analyst 2012-8-4
编辑:Image Analyst 2023-1-16
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 2023-1-16
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]

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by