Приоритет операторов

Можно создать выражения, которые используют любую комбинацию арифметики, операторов сравнения и логических операторов. Уровни приоритета определяют порядок в который MATLAB® выполняет выражение. В каждом уровне приоритета операторы имеют одинаковый приоритет и оценены слева направо. Правила приоритета для операторов MATLAB показывают в этом списке, упорядоченном от уровня наивысшего приоритета до самого низкого уровня приоритета:

  1. Круглые скобки ()

  2. Перемещениестепень.^Комплексное сопряженное транспонирование, матричная степень (^)

  3. Степень с унарным минус (.^-), унарный плюс (.^+), или логическое отрицание (.^~) а также матричная степень с унарным минус (^-), унарный плюс (^+), или логическое отрицание (^~).

    Примечание

    Несмотря на то, что большинство операторов работает слева направо, операторы (^-), (.^-), (^+), (.^+), (^~), и (.^~) работайте от второго справа к левому. Рекомендуется, чтобы вы использовали круглые скобки, чтобы явным образом задать намеченный приоритет операторов, содержащих эти комбинации оператора.

  4. Унарный плюс (+), унарный минус (-), логическое отрицание (~)

  5. Умножение (.*), правое деление (./), левое деление (.\), умножение матриц (*), матричное правое деление (/), матричное левое деление (\)

  6. Сложение (+), вычитание (-)

  7. Оператор двоеточия (:)

  8. Меньше, чем (<), меньше чем или равный (<=), больше, чем (>), больше, чем или равный (>=), равняйтесь (==), не равняются (~=)

  9. Поэлементный AND (&)

  10. Поэлементный OR (|)

  11. Короткая схема AND (&&)

  12. Короткая схема OR (||)

Приоритет операций И и операций ИЛИ

MATLAB всегда дает & приоритет оператора по | оператор. Несмотря на то, что MATLAB обычно выполняет выражения слева направо, выражение a|b&c оценен как a|(b&c). Это - хорошая идея использовать круглые скобки, чтобы явным образом задать намеченный приоритет операторов, содержащих комбинации & и |.

То же правило приоритета сохраняется для && и || операторы.

Переопределяющий приоритет по умолчанию

Приоритет по умолчанию может быть заменен с помощью круглых скобок, как показано в этом примере:

A = [3 9 5];
B = [2 1 5];
C = A./B.^2
C =
    0.7500    9.0000    0.2000

C = (A./B).^2
C =
    2.2500   81.0000    1.0000

Похожие темы