Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практическая работа МатЛАБ 2016.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
155.14 Кб
Скачать

Операторы отношения и их функции

Операторы отношения служат для сравнения двух величин, векторов или матриц. Все операторы отношения имеют два операнда, например х и у, и записываются, как показано в табл. 8.2.

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

Функция

Название

Оператор

Пример

Eq

Равно

= =

x = = y

Ne

He равно

~ =

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(l,2)

 ans =

1

» 2 ~- 2 

ans =

0

» 5 > 3 

ans =

1

» le(5.3) 

ans =

0

Логические операторы

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

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

Функция

Название

And

Логическое И (AND) &

Or

Логическое ИЛИ (OR) |

Not

Логическое НЕ (NOT) ~

Хог

Исключающее ИЛИ (EXCLUSIVE OR)

Any

Верно, если все элементы вектора равны нулю

All

Верно, если все элементы вектора не равны нулю

Работа операторов поясняется приведенными ниже примерами:

»А=[1 2 3]; 

»В=[1 0 0]; 

» and(A.B) 

ans =

1    0    0

 » оr(А.В)

ans =

1    1     1 

» А&В 

ans =

1    0    0 

» А|В 

ans=

1     1     1

 » not(А)

 ans =

0    0    0 

» not(B) 

ans =

0     1     1 

» ~B 

ans=

0    1    1 

» xor(A.B)

 ans =

0     1     1 

» any(A) 

ans =

    1

» all([0 0 0])

 ans =

0

» all(B) 

ans =

0

» and('abc','012') 

ans =

1     1     1

Обратите внимание, что аргументами логических операторов могут быть числа и строки. При аргументах-числах логический нуль соответствует числовому нулю, а любое отличное от нуля число воспринимается как логическая единица. Для строк действует уже отмеченное правило — каждый символ строки представляется своим ASCII-кодом.

Функции округления и знака

Ряд особых функций служат для выполнения операций округления числовых данных и анализа их знака. 

  • fix(A) — возвращает массив А с элементами, округленными до ближайшего к нулю целого числа. Для комплексного А действительные и мнимые части округляются отдельно.

» А=[1/3 2/3: 4.99 5.01] 

А =

0.3333     0.6667

4.9900     5.0100 

» fix(A) 

ans =

0    0

4     5

  • floor(A) — возвращает А с элементами, представляющими ближайшее меньшее или равное соответствующему элементу А целое число. Для комплексного А действительные и мнимые части преобразуются отдельно.

  • ceil (A) — возвращает ближайшее большее или равное А целое число. Для комплексного А действительные и мнимые части округляются отдельно.

  • rem(X,Y)  возвращает X - fix(X./Y).*Y, где fix(X./Y) — целая часть от частного X/Y.

Если операнды X и Y имеют одинаковый знак, функция rem(X, Y) возвращает тот же результат, что mod(X.Y). Однако (для положительных X и Y) rem(-x.y) = mod(-x,y)-y. Функция rem возвращает результат, находящийся между 0 и sign(X)*abs(Y). Если Y=0, функция rem возвращает NaN. Аргументы X и Y должны быть целыми числами. Из-за неточного представления в компьютере чисел с плавающей запятой использование вещественных (или комплексных) входных аргументов может привести к непредвиденным результатам.

Пример:

» Х=[25 21 23 55 3];

» Y=[4 8 23 6 4]; 

» rem(X,Y) 

ans=

1 5 0 1 3

  • round(X) — возвращает округленные до ближайшего целого элементы массива X. Для комплексного X действительные и мнимые части округляются отдельно.

Пример:

» Х=[5.675 21.6+4.897*1 2.654 55.8765];

 » round(X) 

ans =

6.0000     22.0000 +5.0000i     3.0000     56.0000