Лабораторная работа №1. Знакомство с средой MATLAB (1184919), страница 2
Текст из файла (страница 2)
Таблица П.3. Операции отношения
Оператор | Описание | Оператор | Описание |
< | Меньше | > | Больше |
<= | Меньше или равно | >= | Больше или равно |
== | Равно | ~= | Не равно |
Пример.
A = [2 7 6;9 0 5;3 0.5 6];
B = [8 7 0;3 2 5;4 -1 7];
A == B
ans =
0 1 0
0 0 1
0 0 0
Допустимо скалярное расширение, когда каждый элемент массива сравнивается со скаляром.
Логические операции бывают поэлементные и укороченные. Поэлементные логические операции выполняются над массивами одинакового размера. Нулевое значение элемента исходного массива воспринимается как истина, ненулевое – как ложь. Результатом является массив такого же размера из нулей и единиц (0 ставится, если результат сравнения ложь, а 1 – истина). Поэлементные логические операции представлены в таблице П.4. В третьем столбце таблицы П.4 в качестве примера приведены результаты применения операций к массивам
A = [0 1 1 0 1];B = [1 1 0 0 1].
Укороченные логические операции выполняются над скалярами. Укороченными они названы, потому что их вычисление производится не полностью, а только до выяснения значения результата. Так, если в выражении А&&B первый оператор равен значению ложь, то значение выражения не зависит от В, и В не вычисляется. Укороченные операторы представлены в таблице П.5.
Таблица П.4. Поэлементные логические операции
Оператор | Описание | Пример |
& | Возвращает 1, если соответствующие элементы обоих исходных массивов имеют значение истина (не равны нулю), и 0 в других ситуациях. | A & B = 01001 |
| | Возвращает 1, если хотя бы один из соответствующих элементов исходных массивов имеет значение истина (не равен нулю), и 0 в противном случае. | A | B = 11101 |
~ | Инвертирует каждый элемент исходного массива | A~A = 10010 |
xor | Возвращает 1в том случае, если соответствующие элементы исходных массивов не равны, и 0 в противном случае. | xor(A,B)= |
Таблица П.5. Укороченные логические операции
Оператор | Описание |
&& | Возвращает значение истина (1) , если оба операнда имеют значение истина (не равны нулю), и ложь (0) в противном случае. |
|| | Возвращает значение истина (1), если хотя бы один операнд имеет значение истина (не равен нулю), и ложь (0) в противном случае. |
Для составления выражения необходимо знать очередность выполнения операций. Ниже операции перечислены в порядке убывания приоритета, в одном пункте операции одинакового приоритета:
-
Скобки ().
-
Транспонирование (.'), возведение в степень (.^), комплексно-сопряженное транспонирование ('), матричное возведение в степень (^).
-
Унарный плюс (+), унарный минус (-), логическое отрицание (~).
-
Умножение (.*), правое деление (./), левое деление(.\), матричное умножение (*), матричное правое деление (/), матричное левое деление (\).
-
Сложение (+), вычитание (-).
-
Оператор двоеточия (:).
-
Меньше (<), меньше или равно (<=), больше (>), больше или равно (>=), равно (==), не равно (~=).
-
Поэлементное И (&).
-
Поэлементное ИЛИ (|).
-
Укороченное И (&&).
-
Укороченное ИЛИ (||).
Для изменения порядка выполнения операций можно использовать круглые скобки.
П.5. Кодирование основных алгоритмических структур
Правила кодирования основных алгоритмических структур в языках программирования MATLAB и PASCAL даны в таблице П.6.
Таблица П.6. Кодирование основных алгоритмических структур
Название базовой структуры | Блок-схема | Кодирование на Паскале | Кодирование на языке MATLAB |
| if условие then оператор 1 else оператор 2 | if условие оператор 1 else оператор 2 end | |
Р | if условие then оператор 1 | if условие оператор 1 end |
Продолжение таблицы П.6
Название базовой структуры | Блок-схема | Кодирование на Паскале | Кодирование на языке MATLAB |
| case of ключ значение1: оператор1; значение2: оператор2; … значениеN: операторN; else операторN+1 end | switch of ключ case знач1: опер1 case знач2: опер2 … case значN: оперN otherwise оперN+1 end | |
Ц | while условие do тело цикла | while условие тело цикла end | |
Продолжение таблицы | П.6 | ||
Название базовой структуры | Блок-схема | Кодирование на Паскале | Кодирование на языке MATLAB |
Параметрический цикл | k – любая переменная шаг1 for k:=нач to кон do Тело цикла шаг-1 (условие продолжения цикла k кон) for k:=нач downto кон do Тело цикла | for k=нач:шаг:кон Тело цикла end |
Литература
-
Сборник задач по базовой компьютерной подготовке. Зубов В.С., Котарова И.Н., Архипов О.Г. и др. – М.: Изд-во МЭИ, 1998. – 178 с.
13