4.6 Логические значения
Octave имеет встроенную поддержку логических значений, т.е., переменных, которые являются либо true или false. При сравнении двух переменных результатом будет логическое значение, зависящее от того, истинно ли сравнение.
Основные логические операции — &, |, и !, которые соответствуют «Логическому И», «Логическому ИЛИ» и «Логическому НЕГАЦИИ». Эти операции подчиняются обычным правилам логики.
Также возможно использовать логические значения в рамках стандартных числовых вычислений. В этом случае true преобразуется в 1, а false в 0, оба значения представлены с помощью чисел с двойной точностью с плавающей запятой. Таким образом, результат true*22 - false/6 составляет 22.
Логические значения также могут использоваться для индексирования матриц и ячеистых массивов. При индексировании логическим массивом результатом будет вектор, содержащий значения, соответствующие true частям логического массива. Следующий пример иллюстрирует это.
data = [ 1, 2; 3, 4 ];
idx = (data <= 2);
data(idx)
⇒ ans = [ 1; 2 ]Вместо создания idx массива можно заменить data(idx) на data( data <= 2 ) в приведенном выше коде.
Логические значения также можно создать, преобразовав числовые объекты в логические значения или используя функции true или false.
- logical (x)
Преобразовать числовой объект x в логический тип.
Любые ненулевые значения будут преобразованы в true (1), а нулевые значения — в false (0). Нечисловое значение NaN не может быть преобразовано и вызовет ошибку.
Примечание о совместимости: Octave принимает комплексные значения в качестве входных данных, в то время как MATLAB выдает ошибку.
- true (x)
- true (n, m)
- true (n, m, k, …)
Возвращает матрицу или N-мерный массив, элементы которого — все логические 1.
Если вызов содержит один скалярный целочисленный аргумент, возвращает квадратную матрицу заданного размера.
Если вызов содержит два или более скалярных целочисленных аргумента или вектор целочисленных значений, возвращает массив с заданными размерами.
См. также: false.
- false (x)
- false (n, m)
- false (n, m, k, …)
Возвращает матрицу или N-мерный массив, элементы которого — все логические 0.
Если вызов содержит один скалярный целочисленный аргумент, возвращает квадратную матрицу заданного размера.
Если вызов содержит два или более скалярных целочисленных аргумента или вектор целочисленных значений, возвращает массив с заданными размерами.
См. также: true.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Logical-Values.html