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