Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab BSU.doc
Скачиваний:
12
Добавлен:
08.09.2019
Размер:
1.04 Mб
Скачать

Операторы отношения.

Операторы отношения служат для сравнения двух величин, векторов или матриц. Следующая ниже таблица дает полную сводку по операторам отношения.

Функция

Оператор

Описание

Пример

lt

<

Меньше чем

X<Y

le

<=

Меньше или равно

X<=Y

gt

>

Больше чем

X>Y

ge

>=

Больше или равно

X>=Y

eq

==

Равно

X==Y

ne

~=

Не равно

X~=Y

Данные операторы выполняют поэлементное сравнение векторов или матриц одинаковой размерности и возвращают значение 1 (True), если элементы идентичны, и значение 0 (False) в противном случае. Результат операции отношения выдается в виде массива той же размерности, что и размерность операндов отношения:

A=[1 2; 2 3]; B=[1 2; 2 4];

A==B

ans =

1 1

1 0

В данном примере нулевой элемент результирующей матрицы означает несовпадение соответствующих элементов матриц A и B.

Логические операторы и функции.

Логические операторы и соответствующие им функции реализуют логические операции над массивами одинаковой размерности.

Оператор

Функция

Название

&

and

Логическое И

|

or

Логическое ИЛИ

~

not

Логическое НЕ

xor

Исключающее ИЛИ

any

Истина, если все элементы массива нулевые

all

Истина, если все элементы массива ненулевые

Аргументами логических операций могут быть числа и строки. Число ноль воспринимается как логический ноль, а любое отличное от нуля значение элемента массива воспринимается как логическая единица.

Рассмотрим примеры:

A=[1 2; 2 0]; B=[0 1; 1 0];

A&B

ans =

0 1

1 0

В результирующей матрице A&B единица (истина) означает, что в матрицах A и B оба соответствующих элемента отличны от нуля. В противном случае ставится ноль.

A|B

ans =

1 1

1 0

В результирующей матрице A|B единица (истина) означает, что в матрицах A и B хотя бы один из соответствующих элементов отличен от нуля. В противном случае ставится ноль.

~B

ans =

1 0

0 1

В результирующей матрице ~B единица (истина) означает, что в матрице B соответствующий элемент равен нулю. В противном случае ставится единица.

xor(A, B)

ans =

1 0

0 0

Элемент результирующей матрицы равен единице (истине) если соответствующие элементы исходных матриц имеют значения единица и ноль (истина и ложь).

Приоритет выполнения операторов.

В математических выражениях операторы имеют определенный приоритет исполнения. Перечислим операторы в порядке убывания их приоритета:

  1. выполняются операторы, заключенные в скобки ()

  2. транспонирование (.'), возведение в степень (.^), комплексно-сопряженное транспонирование ('), матричное возведение в степень (^)

  3. унарное сложение (+), унарное вычитание (), логическое отрицание (~)

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

  5. сложение (+), вычитание ()

  6. оператор двоеточие (:)

  7. меньше чем (<), меньше или равно (<=), больше чем (>), больше или равно (>=), равно (==), не равно (~=)

  8. логическое И (&)

  9. логическое ИЛИ (|)

Можно всегда изменить принятый по умолчанию порядок выполнения операторов с помощью круглых скобок:

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]