Операторы
отношения
служат для сравнения двух величин, векторов или матриц. Все
операторы отношения имеют два операнда, например х и у, и записываются, как
показано в табл. 8.2.
Таблица
8.2.
Операторы и функции отношения
Функция
Название
Оператор
Пример
Eq
Равно
= =
x = = y
Ne
He равно
~ =
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(l,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
» М>=0
ans =
0
1
1
1
В общем случае
операторы отношения сравнивают два массива одного размера и выдают результат
в виде массива того же размера:
»
М>[0 1;.1 0]
ans
=
0
0
0
1
Таким образом,
спектр применения операторов отношения в системе MATLAB шире, чем в обычных
языках программирования, поскольку операндами являются не только числа, но и
векторы, матрицы и массивы. Возможно применение операторов отношения и к символьным
выражениям:
»
'b'>'а'
ans =
1
»
'abc'= ='abc'
ans =
1
1 1
» 'cba'<'abc'
ans =
0
0 1
В этом случае
символы, входящие в выражения, представляются своими ASCII-кодами. Строки воспринимаются
как векторы, содержащие значения кодов. Все это надо учитывать при использовании
управляющих структур языка программирования, в которых широко применяются операторы
отношения.