
- •Содержание
- •Введение
- •1. Описание панели инструментов
- •1.1. Командное окно
- •1.2. Окно редактирования и отладки
- •1.3. Окно рабочей области
- •1.4. Пути доступа к m-файлам
- •1.5. Окно справки Help Window
- •2. Переменные, операторы и функции системы matlab
- •2.1. Переменные, константы и специальные символы
- •2.2. Арифметические операторы
- •2.3. Операторы и функции отношения
- •2.4. Логические операторы
- •2.5. Элементарные функции
- •2.6. Массивы и матрицы
- •3. Графические средства системы matlab
- •3.1. Основные операторы и функции графики
- •3.2. Окно графики
- •3.3. Графика в прямоугольных координатах
- •3.4. Масштабирование осей и вывод на экран
- •3.5. Графика в полярных координатах
- •3.6. Построение столбиковых даграмм и гистограмм
- •3.7. Отображение трехмерных поверхностей
- •4. Программирование в системе matlab
- •4.1. Структура m-файла сценария и функции
- •4.2. Ввод и вывод иформации
- •4.3. Форматы вывода чисел
- •4.4. Функции nargin и nargout
- •4.5. Локальные и глобальные переменные
- •4.6. Управление последовательностью выполнения
- •4.7. Ускорение вычислений
- •4.8. Примеры программирования с использованием средств пакета Matlab
- •5. Система simulink
- •5.1. Библиотека модулей
- •5.2. Раздел Sinks (получатели сигналов)
- •5.3. Раздел Sources (источники сигналов)
- •5.4. Раздел Continuous (аналоговые блоки)
- •5.5. Раздел Discrete (дискретные блоки)
- •5.6. Раздел Function & Tables (функции и таблицы)
- •5. Логические операторы (&& | | !).
- •5.7. Раздел Math (математические блоки)
- •5.8. Раздел Nonlinear (нелинейные компоненты)
- •5.9. Раздел Signal & Systems (блоки преобразования сигналов и создания систем)
- •5.10. Применение системы Simulink в задачах моделирования динамических систем
- •Литература
2.2. Арифметические операторы
Операторы состоят из специальных символов, имен функций и переменных, а также числовых констант. Они могут оканчиваться запятой или точкой с запятой, которые управляют выводом результата на экран. Операторы имеют две формы записи:
с явным присваиванием (форма оператора: переменная = выражение) и с неявным присваиванием (форма оператора: выражение). Для операторов с явным присваиванием результат вычисления выражения присваивается заданной переменной, которая в дальнейшем может использоваться. При использовании операторов с неявным присваиванием система автоматически создает переменную с именем ans и присваивает ей значение результата. Переменная ans сохраняет значение результата выполнения только последнего оператора с неявным присваиванием.
При записи нескольких операторов в одной строке следует использовать разделители (;). После единственного или последнего оператора строки разделитель можно не ставить.
В системе Matlab реализовано два типа арифметических операций. Операции над матрицами, которые определены в соответствии с правилами линейной алгебры, и операции над массивами, которые выполняются поэлементно. Для различия операциям над массивами предшествует точка.
Перечень операций над матрицами:
(+) сложение;
(-) вычитание;
(*) умножение;
(/) правое деление;
(\) левое деление;
(^) возведение в степень;
(') комплексно сопряженное транспонирование матрицы.
Перечень операций над массивами:
(.+) сложение;
(.-) вычитание;
(. *) поэлементное умножение;
(./) правое поэлементное деление;
(.\) левое поэлементное деление;
(.^) поэлементное возведение в степень;
(.') несопряженное транспонирование массива.
Аргументами в операциях (+ - .* .\ ./ .^) должны быть массивы одинаковой размерности за исключением случая, когда один из них скаляр.
2.3. Операторы и функции отношения
В системе MATLAB определено 6 следующих операторов отношения:
Таблица 2.1 - Операторы отношения
Функция |
Название |
Оператор |
Пример |
Eq |
равно |
= = |
x = = y |
Ne |
нe равно |
~ = |
x ~ = y |
Lt |
Меньше чем |
< |
x<y |
Gt |
Больше чем |
> |
x>y |
Le |
меньше или равно |
<= |
x<=y |
Ge |
больше или равно |
>= |
x>=y |
Операторы отношения выполняют поэлементное сравнение двух массивов равных размерностей. Для векторов и прямоугольных массивов оба операнда должны быть одинакового размера, за исключением случая, когда один из них скаляр. В этом случае Matlab сравнивает скаляр с каждым элементом другого операнда. Позиции, где это соотношение истинно, получают значение 1, где ложно - 0.
Операторы отношения, как правило, применяется для изменения последовательности выполнения операторов программы. Поэтому они чаще всего используются в теле операторов if, for, while, switch. Операторы отношения всегда выполняются поэлементно.
Пример 2.1. Выполним сравнение двух массивов, используя условие А<B:
A = [2 6 5; 5 0 -1; 3 0.5 6]; %матрица А размерности 33
B = [8 0.2 0; -3 2 5; 4 -1 7];
А< B
ans =
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
Полученная матрица указывает позиции, где элемент А меньше соответствующего элемента B.
При вычислении арифметических выражений операторы отношения имеют более низкий приоритет, чем арифметические, но более высокий, чем логические операторы. Операторы отношения могут применятся к многомерным массивам, для которых одна из размерностей равна нулю, при условии, что оба массива - одинакового размера или один из них - скаляр. Однако выражения типа A = = [ ] применимы только к массивам размера 0х0 или 1х1, а в других случаях вызывают ошибку. Поэтому наиболее универсальный способ проверить, является ли массив пустым, это применить функцию isempty(A).
Спектр применения операторов отношения в системе Matlab шире, чем в обычных языках программирования, поскольку операндами являются не только числа, но и векторы, матрицы и массивы. Возможно применение операторов отношения и к символьным выражениям