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.
- : TF = logical (x) ¶
-
Преобразовать числовой объект x к логическому типу.
Любые ненулевые значения будут преобразованы в истину (1), а нулевые значения — в ложь (0). Нечисловое значение NaN не может быть преобразовано и вызовет ошибку.
Примечание по совместимости: Octave принимает комплексные значения в качестве входных данных, в то время как MATLAB выдает ошибку.
- : val = true (x) ¶
- : val = true (n, m) ¶
- : val = true (n, m, k, …) ¶
- : val = true (…, "like", var) ¶
-
Возвращает матрицу или N-мерный массив, элементы которого равны всем логическим 1.
Если вызвана с одним скалярным целочисленным аргументом, возвращает квадратную матрицу указанного размера.
Если вызвана с двумя или более скалярными целочисленными аргументами или вектором целочисленных значений, возвращает массив с заданными размерами.
Если после
"like"указана логическая переменная var, выходной val будет иметь ту же разреженность, что и var.См. также: false.
- : val = false (x) ¶
- : val = false (n, m) ¶
- : val = false (n, m, k, …) ¶
- : val = false (…, "like", var) ¶
-
Возвращает матрицу или N-мерный массив, элементы которого равны всем логическим 0.
Если вызвана с одним скалярным целочисленным аргументом, возвращает квадратную матрицу указанного размера.
Если вызвана с двумя или более скалярными целочисленными аргументами или вектором целочисленных значений, возвращает массив с заданными размерами.
Если после
"like"указана логическая переменная var, выходной val будет иметь ту же разреженность, что и var.См. также: true.
© 1996–2023 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/v8.1.0/Logical-Values.html