Иллюстрированный самоучитель по MatLab

Операторы отношения и их функции

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

Таблица 8.2. Операторы и функции отношения.

Функция Название Оператор Пример
Eq Равно = = x = = y
Ne Не равно ~ = x ~ = y
Lt Меньше чем < x<y
Gt Больше чем > x>y
Le Меньше или равно <= x<=y
Ge Больше или равно >= x>=y

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

>> eq(2.2)
ans =
1
>> 2==2
ans =
1
>> ne(1,2)
ans =
1
>> 2 ~ -2
ans =
0
>> 5 > 3
ans =
1
>> le(5.3)
ans =
0

Следует отметить, что операторы <, <=, > и >= при комплексных операндах используют для сравнения только действительные части операндов – мнимые отбрасываются. В то же время операторы == и ~= ведут сравнение с учетом как действительной, так и мнимой частей операндов. Следующие примеры поясняют это положение:

>> (2+3i)>-(2+i)
ans=
1
>> (2+3i)>(2+i)
ans=
0
>> abs(2+3i)>abs(2+i)
ans =
1
>> (2+3i)-(2+i)
ans =
0
>> (2+3i)-(2+i)
ans =
1

Если один из операндов – скаляр, происходит сравнение всех элементов второго операнда-массива со значением этого скаляра:

M=
-1 0
1 2
>> M>=0
ans =
0 1
1 1

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

>> M>[0 1;.1 0]
ans =
0 0
0 1

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

>> 'b'>'a'
ans =
1
>> 'abc'= ='abc'
ans =
1 1 1
>> 'cba'<'abc'
ans =
0 0 1

В этом случае символы, входящие в выражения, представляются своими ASCII-кодами. Строки воспринимаются как векторы, содержащие значения кодов. Все это надо учитывать при использовании управляющих структур языка программирования, в которых широко применяются операторы отношения.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.