русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операторы отношения и логические операторы


Дата добавления: 2015-06-12; просмотров: 2170; Нарушение авторских прав


Операторы отношения служат для поэлементного сравнения двух операндов, в качестве которых могут выступать числа, векторы или матрицы. При этом сравниваемые векторы или матрицы должны иметь одинаковые размеры. Если операнды одинаковы, то программа возвращает 1 (True – Истина), в противном случае0 (False – Ложь). Перечень операторов отношения с соответствующими им функциями представлен в таблице 4.1.

 

Таблица 4.1. Операторы отношения и их функции

Оператор Название Функция
== Равно Eq
~= Не равно Ne
< Меньше Lt
> Больше Gt
<= Меньше или равно Le
>= Больше или равно Ge

 

Операторы = = и ~= сравнивают действительные и комплексные переменные. При этом сравниваются действительные и комплексные части числа.

Операторы <, <=, >, >= при сравнении комплексных чисел сравнивают только действительные части числа.

Примеры приведены в табл. 4.2.

 

Таблица 4.2. Примеры использования операторов отношения

Выражение Функция Результат
>> 3==3 >> eq(3,3) ans =
>>5~=5 >> ne(5,5) ans =
>> 4+2i==4+i >> eq(4+2i,4+i) ans =
>> 7.2<8.3 >> lt(7.2,8.3) ans =
>>1.4+5i<1.5+i >> lt(1.4+5i,1.5+i) ans =
>> 3<=2.33 >> le(3,2.33) ans =

 

Если при вычислениях надо формально определить, является ли переменная x комплексной, можно вызвать функцию isreal(x), возвращающую 1 если x не является комплексной и 0 в противном случае.

В выражениях, вводимых в командном окне системы MATLAB, операторы отношения могут использоваться наряду с арифметическими операторами. Рассмотрим пример вычисления выражения, содержащего операторы отношения:



>> a=1;b=-1;c=2;

>> (a>=c)+(b==a)+(c>a)

ans =

Здесь значения выражений (a >= c) и (b == a) равны 0 (Ложь), значение выражения (c > a) равно 1 (Истина). В результате переменная ans, являющаяся суммой значений этих трех выражений, оказывается равной 1.

Операции отношения имеют более низкий приоритет, чем арифметические операции. Но в этом примере переменная ans равна сумме значений трех операций отношения только потому, что эти операции заключены в круглые скобки. Если же скобки опустить, результат будет иным:

>> a>=c+b==a+c>a

ans =

При поэлементном сравнении двух массивов одинаковых размеров с помощью операторов отношения результат будет представлен в виде массива того же размера, состоящего из нулей и единиц.

Пример:

>> A=[1 0;-2 3]

A =

1 0

-2 3

>> B=[2 3;-3 2]

B =

2 3

-3 2

>> A>B

ans =

0 0

1 1

В операторах отношения допустимо сравнение массива и числа. В этом случае происходит сравнение каждого элемента массива с числом. Результатом является массив того же размера, что и исходный.

Пример:

>> A=[1 0;-2 3];b=0.5;

>> A>b

ans =

1 0

0 1

Логические операторы предназначены для выполнения поэлементных логических операций над массивами одинаковых размеров. Логические операторы и соответствующие им функции приведены в табл. 4.3.

Таблица 4.3. Логические операторы и их функции

Оператор Название Функция
& Логическое И And
| Логическое ИЛИ Or
Отсутствует Исключающее ИЛИ Xor
~ Логическое НЕ Not

 

Первые три операции являются двухоперандными (бинарными), а операция < Не > является унарной (однооперандной).

При выполнении логических операций «истинными» считаются операнды, не равные нулю, а «ложными» – операнды, равные нулю. При этом результатом операции < И > будет 1, если оба операнда не равны нулю, и 0, если хотя бы один из операндов нулевой. Операция < ИЛИ > дает 1, если хотя бы один операнд не равен нулю. Операция < исключающее ИЛИ > выдает 1 лишь тогда, когда один из операндов равен нулю, а другой не равен, в остальных случаях она выдает 0. Операция < НЕ > выдает 1, если ее единственный операнд равен нулю, и 0 в противном случае.

Примеры использования логических операторов:

>> A=[1 0;-2 3];B=[2 3;-3 2];

>> and(A,B) или >> A&B

ans =

1 0

1 1

>> or(A,B) или >> A|B

ans =

1 1

1 1

>> xor(A,B)

ans =

0 1

0 0

>> not(A) или >> ~A

ans =

0 1

0 0

Элементами логических операторов могут быть массив и число. В этом случае происходит поэлементное выполнение логической операции для каждого элемента массива и числа. Результатом является массив того же размера, что и исходный.

Пример:

>> A=[1 0;-2 3];b=3;

>> xor(A,b)

ans =

0 1

0 0

Поскольку логические и арифметические операции могут входить в одно выражение, порядок выполнения этих операций зависит от их приоритета. Выполнение операций одинакового приоритета происходит в порядке слева направо. Приоритет операций можно изменить с помощью круглых скобок.

Приоритеты операций системы MATLAB в порядке убывания приведены ниже:

1. Круглые скобки <( )>.

2. Транспонирование <.'>, транспонирование с комплексным сопряжением<'>, возведение в степень <^>, поэлементное возведение в степень <.^>.

3. Унарный плюс <+>, унарный минус <–>, логическое отрицание <~>.

4. Умножение и деление (в том числе поэлементное) <*>, </>, <\>, <.*>, <./>, <.\>.

5. Сложение <+> и вычитание <–>.

6. Операции отношения <, <=, >, >=, ==, ~=.

7. Логическое И <&>.

8. Логическое ИЛИ <|>.

Отметим, что сначала выполняются операции над аргументами функций eq, ne, lt, gt, le, ge, and, or, not, если использовать их вместо соответствующих им операторов. Например, два выражения and(A,B)+F и A&B+F не эквивалентны.

Справку можно получить с помощью команды doc ops.



<== предыдущая лекция | следующая лекция ==>
Файл-функции | Операторы цикла


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.6 сек.