Данные операторы выполняют поэлементное сравнение
Таблица 8.2.
Операторы и функции отношения
Функция | Название | Оператор |
Пример
|
Eq | Равно | = = | x = = y |
Ne | He равно | ~ = | x ~ = y |
Lt | Меньше чем | < | x<y |
Gt | Больше чем | > | x>y |
Le | Меньше или равно | <= | x<=y |
Ge | Больше или равно | >= | x>=y |
» 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-кодами. Строки воспринимаются как векторы, содержащие значения кодов. Все это надо учитывать при использовании управляющих структур языка программирования, в которых широко применяются операторы отношения.