Операторы отношения и их функции
Операторы отношения служат для сравнения двух величин, векторов или матриц. Все операторы отношения имеют два операнда, например х и у, и записываются, как показано в табл. 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==2ans =1>> ne(1,2) ans =1>> 2 ~ -2ans =0>> 5 > 3ans =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 01 2>> M>=0ans =0 11 1В общем случае операторы отношения сравнивают два массива одного размера и выдают результат в виде массива того же размера:
>> M>[0 1;.1 0] ans =0 00 1Таким образом, спектр применения операторов отношения в системе MATLAB шире, чем в обычных языках программирования, поскольку операндами являются не только числа, но и векторы, матрицы и массивы. Возможно применение операторов отношения и к символьным выражениям:
>> 'b'>'a'ans =1>> 'abc'= ='abc'ans =1 1 1>> 'cba'<'abc'ans =0 0 1В этом случае символы, входящие в выражения, представляются своими ASCII-кодами. Строки воспринимаются как векторы, содержащие значения кодов. Все это надо учитывать при использовании управляющих структур языка программирования, в которых широко применяются операторы отношения.
