Логические операции

Операторы отношения и логические операторы, а также соответствующие им команды позволяют проводить сравнения массивов одинакового размера. Результатом таких операций являются матрицы из нулей и единиц, причем единица означает истинность, а нуль – ложь. В табл. 1.6 отмечены операции отношения [1 - 3].

Таблица 1.6

Символ Назначение Имя функции
< Меньше lt
>= Больше или равно ge
> Больше gt
<= Меньше или равно le
== Равно eq
~= Не равно ne

При попытке сравнения векторов или матриц различной размерности будет выведено сообщение об ошибке. При сравнении скаляра с матрицей сначала из скалярной переменной создаётся матрица нужного размера, и уже затем происходит сравнение. Операции (==, ~=) проводят сравнение вещественных и мнимых частей комплексных чисел, а операции (>, <, >=, <=) – только вещественных частей. Табл. 1.7 содержит функции элементарных логических операций.

Таблица 1.7

Символ Назначение Имя функции
& Логическое «и» and
| Логическое «или» or
~ Отрицание not
  Исключающее «или» xor

Для логических операций ненулевое число отождествляется с единицей. Приведём примеры:

>> a=[1 2;3 4] % ввод матрицы

a =

1 2

3 4

>> b=2 % ввод скаляра

b = 2

>> c=a>b % результат сравнения - матрица

c =

0 0

1 1

>> a~=c % сравнение матриц - матрица

ans =

1 1

1 1

Логические операции можно записывать в виде функций. Так, последнее сравнение представимо в виде:

>> ne(a,c); % функция сравнения матриц.


Математическая среда Matlab. Примеры решения задач

Символы и текстовые строки в MATLAB вводятся при помощи простых кавычек [1 - 5]. Во внутреннем представлении символы даны целыми числами. Конвертировать массив символов в числовую матрицу позволяет команда double. Обратная операция совершается по команде char. Печатаемые символы из стандартного набора ASCII представлены числами от 32 до 255. Объединить текстовые строки можно, просто заключив их в квадратные скобки или при помощи команды strcat. Приведем примеры для данных команд. Вначале введем строку:

>> s = 'Привет ОмГТУ'

s = Привет ОмГТУ

Отметим, что для ввода русских букв следует выбрать в меню File/ Preferences/ Command Windows Font шрифт с русской кодировкой. Теперь найдём коды введённых символов:

>> v = double(s)

v =

Columns 1 through 8

1055 1088 1080 1074 1077 1090 32 1054

Columns 9 through 12

1084 1043 1058 1059

Объединим три строки:

>> h = [v + ' РТФ']

v = Привет ОмГТУ РТФ

Тот же результат получится, если вместо переменной v использовать строковую переменную s. В завершение попробуем применить команду strcat. Для перевода численных данных в строковые переменные имеется ряд команд преобразования. В табл. 2.1 приведены некоторые команды для этих и обратных операций, а полных список можно получить по команде help strfun.


Таблица 2.1

Имя команды Действие
num2str Перевод числа в строку
int2str Перевод целого числа в строку
mat2str Преобразование матрицы в строку
str2mat Объединение строк в матрицу
str2num Преобразование строки в число
strcat Объединение строк

Приведём пример:

>> z=1.2e3; strcat('z=',num2str(z))

ans = z=1200


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: