Операторы отношения служат для сравнения двух величин, векторов или матриц. Все операторы отношения имеют два операнда, например х и у, и записываются, как показано ниже.
Операторы и функции отношения
Функция | Название | Оператор | Пример |
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
В общем случае операторы отношения сравнивают два массива одного размера и выдают результат в виде массива того же размера:
» М >[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-кодами. Строки воспринимаются как векторы, содержащие значения кодов. Все это надо учитывать при использовании управляющих структур языка программирования, в которых широко применяются операторы отношения.