
- •Теоретическая часть
- •Окна системы MatLab
- •Основные типы данных
- •Форматы.
- •Операторы отношения
- •Операторы отношения и массивы
- •Операторы отношения и пустые массивы
- •Логические операторы
- •Использованием логических операторов с массивами
- •Логические функции
- •Приоритеты операторов
- •Команды управления данными (Flow Control)
- •Команды if, else, and elseif
- •Команда switch
- •Команда while
- •Команда for
- •Команда break
- •Команда return
- •Двумерная графика.
- •Задание на контрольную работу.
- •Статистическая обработка данных.
- •Приложение
- •Рекомендуемая литература:
Операторы отношения и пустые массивы
Операторы отношения работают и с массивами, у которых какая-либо размерность равна ну-лю (что приводит к пустому массиву), если оба массива имеют одинаковый размер или же один из них является скаляром. Однако, выражения вида A == [ ] приводят к ошибке, если только массив А не имеет размеры 0х0 или 1х1. Для проверки явля-ется ли данный массив пустым, следует использовать специальную функцию isempty(A).
Логические операторы
MatLab обеспечивает следующие логические операторы
Оператор |
Описание |
& |
AND (логическое И) |
| |
OR (логическое ИЛИ) |
~ |
NOT (логическое НЕ) |
Использованием логических операторов с массивами
Логические операторы MatLab-а сравнивают соответствующие элементы массивов одинаковой размерности. Для векторов или прямоугольных массивов, оба операнда должны иметь одинаковый размер, или один из них должен быть скаляром. Если один из элементов является скаляром, а второй – нет, то здесь также имеет место свойство скалярного расширения.
Логические функции
В дополнение к логическим операторам, MatLab имеет ряд логических функций.
Функция |
Описание |
Примеры |
all |
Возвращает 1, если все элементы ее аргумента являются истинными или не равны нулю; в противном случае результат равен логическому нулю. Над матрицами функция all работает вдоль столбцов |
A = [0 1 2; 3 5 0] all(A) ans = 0 1 0 |
any |
Возвращает единицу, если любой из аргументов является истинным или ненулевым; в противном случае возвращает 0. Как и all , any работает вдоль столбцов матриц. |
v = [5 0 8]; any(v) ans = 1 |
Приоритеты операторов
Выражения могут использовать любую комбинацию арифметических и логических операторов, а также операторов отношения. Уровни приоритетов этих операторов определяют порядок, в котором MatLab обрабатывает выражение. В пределах каждого уровня приоритета, операторы имеют одинаковый приоритет и оцениваются (обрабатываются) слева направо. Последовательность приоритетов для операторов MatLab-а приведены ниже, упорядоченные в порядке убывания приоритетов, то есть от высшего приоритета к низшему:
Обычные скобки ().
Транспонирование (.'), степень (.^), комплексно-сопряженное транспонирование('), степень матрицы(^).
Унарный плюс (+), унарный минус (-), логическое отрицание (~).
Умножение (.*), правое деление (./), левое деление(.\), матричное умножение (*), матричное правое деление (/), матричное левое деление (\).
Сложение (+), вычитание (-).
Оператор двоеточия (:).
Меньше чем (<), меньше чем или равно (<=), больше чем (>), больше чем или равно (>=), равно (==), не равно (~=).
Логическое И (&).
Логическое ИЛИ (|).
Команды управления данными (Flow Control)
В MatLab-е имеются 8 базовых команд для управления потоками данных:
• if, совместно с else и elseif, осуществляет обработку группы выражений, основываясь на некотором логическом условии.
• switch, совместно с case и otherwise, обрабатывает различные группы выражений, основываясь на значении некоторого логического условия.
• while осуществляет обработки группы выражений неопределенное число раз, основываясь на некотором логическом условии.
• for осуществляет обработку группы выражений определенное (заданное) число раз.
• continue передает управление к следующей итерации в циклах for или while , пропуская все оставшиеся выражения в теле цикла.
• break прекращает обработку выражений и выходит из циклов, созданных командами for или while.
• try...catch изменяет последовательность выполнения команд, если во время выполнения программы получено сообщение об ошибке.
• return приводит к прекращению выполнения данной программы и к возврату в вызывающую функцию.
Все конструкции программ, основанные на логических условиях, используют команду end для указания конца соответствующего блока.
Внимание! Во многих случаях вы можете ускорить выполнение программ MatLab-а, путем замены циклов с командами for и while векторными выражениями (см. ниже).