
- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Введение в matlab
- •Введение
- •Лабораторная работа №1. Решение простейших задач обработки матриц в системе matlab
- •1. Теоретическая часть
- •1.1. Интегрированная среда matlab
- •1.2. Простейшие примеры работы в matlab
- •1.3. Некоторые действия над матрицами
- •1.3.1. Вычисление сумм и транспонирование
- •1.3.2. Работа с файлами
- •1.3.3. Поэлементная обработка матриц
- •1.4. Оператор двоеточия
- •1.5. Решение задач обработки матриц
- •2. Задание
- •Лабораторная работа №2. Скрипты и функции в matlab
- •1. Теоретическая часть
- •Скрипты
- •1.3. Функции
- •1.4. Глобальные переменные
- •1.5. Отладка м-файлов
- •1.6. Профилирование м-файлов
- •2 . Задание
- •Лабораторная работа №3. Построение графиков в matlab
- •1. Теоретическая часть
- •Создание графиков функций одной переменой
- •1.2. Окна изображения
- •1.3. Расположение нескольких графиков в одном окне
- •1.4. Визуализация функций двух переменных
- •1.5. Сохранение графика
- •2. Задание
- •Лабораторная работа №4. Решение задач с функциями-параметрами в системе matlab
- •Теоретическая часть
- •Назначение подпрограмм-параметров
- •Манипулятор функции (Function Handle)
- •1.3. Класс Function Functions
- •П ример использования глобальных переменных
- •2. Задание
- •Лабораторная работа №5. Разработка простейших оконных приложений в системе matlab
- •1. Теоретическая часть
- •Среда визуального программирования guide
- •Разработка простейшего оконного приложения
- •Приложения, работающие с числовыми данными
- •Создание меню
- •1.5. Пример приложения с выводом графика
- •Задание
- •Приложение. Описание алгоритмического языка matlab
- •П.1. Имена в matlab
- •П.2. Типы данных
- •П.3. Константы
- •П.4. Операции и выражения
- •П.5. Кодирование основных алгоритмических структур
- •Библиографические ссылки
- •Содержание
П.3. Константы
Правила записи числовых констант поясним на примерах:
3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23
Можно использовать комплексные данные. Мнимая единица может обозначать i или j. Например, 1i -3.14159j 3e5i
Логические константы: 1 - истина (true) и 0 - ложь (false). При проверке условий любое ненулевое значение воспринимается как истина, а нулевое как ложь.
Символьная константа – это последовательность символов, заключенная в апострофы ('Hello!').
П.4. Операции и выражения
Арифметические операции MATLAB представлены в таблице П.2. Имеется два вида арифметических операций. Матричные операции выполняются по правилам линейной алгебры. Простые операции над массивами выполняются поэлементно над соответствующими элементами массивов одинаковых размеров. Для обозначения простой операции перед знаком операции ставится точка. Например, .* обозначает простое умножение. Когда матричная и простая операция выполняются одинаково, предшествующая точка не ставится (существует только операция +, операция .+ не существует)
Простая операция может выполняться над парой скаляр-массив. Тогда скаляр участвует в операции над каждым элементом массива. Такая ситуация называется скалярным расширением. Примеры матричной, простой операции и скалярного расширения представлены на рис. П.3.
Таблица П.2. Арифметические операции MATLAB
Оператор |
Описание |
+ |
Сложение |
- |
Вычитание |
.* |
Умножение |
./ |
Правое деление: а./в – каждый элемент а делится на соответствующий элемент в |
.\ |
Левое деление: а.\в – каждый элемент в делится на соответствующий элемент а |
+ |
Унарный плюс |
- |
Унарный минус |
: |
Операция двоеточия |
.^ |
Возведение в степень |
.' |
Транспонирование |
' |
Комплексно-сопряженное транспонирование |
* |
Матричное умножение |
/ |
Матричное правое деление: а/ва*в-1 |
\ |
Матричное левое деление: а\ва-1*в |
^ |
Матричное возведение в степень |
Операции
отношения представлены в таблице
П.3. Они выполняются над массивами
одинакового размера (как простые
арифметические операции). В результате
получается массив такого же размера;
каждый его элемент равен единице, если
для соответствующих элементов исходных
массивов соотношение выполнено, и нулю
в противном случае.
Таблица П.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)= 10100 |
Таблица П.5. Укороченные логические операции
Оператор |
Описание |
&& |
Возвращает значение истина (1) , если оба операнда имеют значение истина (не равны нулю), и ложь (0) в противном случае. |
|| |
Возвращает значение истина (1), если хотя бы один операнд имеет значение истина (не равен нулю), и ложь (0) в противном случае. |
Для составления выражения необходимо знать очередность выполнения операций. Ниже операции перечислены в порядке убывания приоритета, в одном пункте операции одинакового приоритета:
Скобки ().
Транспонирование (.'), возведение в степень (.^), комплексно-сопряженное транспонирование ('), матричное возведение в степень (^).
Унарный плюс (+), унарный минус (-), логическое отрицание (~).
Умножение (.*), правое деление (./), левое деление(.\), матричное умножение (*), матричное правое деление (/), матричное левое деление (\).
Сложение (+), вычитание (-).
Оператор двоеточия (:).
Меньше (<), меньше или равно (<=), больше (>), больше или равно (>=), равно (==), не равно (~=).
Поэлементное И (&).
Поэлементное ИЛИ (|).
Укороченное И (&&).
Укороченное ИЛИ (||).
Для изменения порядка выполнения операций можно использовать круглые скобки.