| MATLAB® | ![]() |
K = logical(A)
K = logical(A) returns an array that can be used for logical indexing or logical tests.
A(B), where B is a logical array that is the same size as A, returns the values of A at the indices where the real part of B is nonzero.
A(B), where B is a logical array that is smaller than A, returns the values of column vector A(:) at the indices where the real part of column vector B(:) is nonzero.
Most arithmetic operations remove the logicalness from an array. For example, adding zero to a logical array removes its logical characteristic. A = +A is the easiest way to convert a logical array, A, to a numeric double array.
Logical arrays are also created by the relational operators (==,<,>,~, etc.) and functions like any, all, isnan, isinf, and isfinite.
Given A = [1 2 3; 4 5 6; 7 8 9], the statement B = logical(eye(3)) returns a logical array
B = 1 0 0 0 1 0 0 0 1
which can be used in logical indexing that returns A's diagonal elements:
A(B)
ans =
1
5
9However, attempting to index into A using the numeric array eye(3) results in:
A(eye(3)) ??? Subscript indices must either be real positive integers or logicals.
islogical, logical operators (elementwise and short-circuit),
![]() | log2 | loglog | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |