
- •Содержание
- •Введение
- •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.4. Логические операторы
В состав логических операторов системы Matlab входят следующие операторы:
& - логическое И (And);
| - логическое ИЛИ (Or);
~ - логическое НЕТ (Not).
В дополнение к этим операторам каталог bitfun содержит ряд функций, которые выполняют поразрядные логические операции. Логические операторы реализуют поэлементное сравнение массивов одинаковых размерностей. Для векторов и прямоугольных массивов оба операнда должны быть одинакового размера, за исключением случая, когда один из них скаляр. В последнем случае Matlab сравнивает скаляр с каждым элементом другого операнда. Позиции, где это соотношение истинно, получают значение 1, где ложно - 0. Каждому логическому оператору соответствует некоторый набор условий, которые определяю результат логического выражения.
Логическое выражение с оператором And (&) является истинным, если оба операнда - истинны. Если элементами логического выражения являются числа, то выражение истинно, если оба операнда отличны от нуля.
Пример 2.2. Пусть заданы два числовых вектора:
U =[1 0 2 3 0 5]; %вектор-строка размерности 5
V = [5 6 1 0 0 7];
U&V %логическое выражение с оператором And (&) :
ans =
1 |
0 |
1 |
0 |
0 |
1 |
Логическое выражение с оператором OR (|) является истинным, если один из операндов или оба операнда логически истинны. Выражение ложно, только если оба операнда логически ложны. Если элементами логического выражения являются числа, то выражение ложно, если оба операнда равны нулю.
Пример 2.3. Используя векторы U и V, определенные выше, и выполним логическое выражение с оператором Or (|):
U | V
ans =
1 |
1 |
1 |
1 |
0 |
1 |
Логическое выражение с оператором Not(~) строит отрицание. Результат логически ложен, если операнд истинен, и истинен, если операнд ложен. Если элементами логического выражения являются числа, то любой операнд, отличный от нуля, становится нулем, и любой нулевой операнд становится единицей.
Пример 2.4. Используя вектор U (см. пример 2.2) построить логическое выражение с оператором Not(~):
~U
ans =
0 |
1 |
0 |
0 |
1 |
0 |
2.5. Элементарные функции
Система Matlab содержит большое количество элементарных математических функций, таких как abs, sqrt, ехр, sin. Вычисление квадратного корня или логарифма отрицательного числа не является ошибкой; так как в этом случае результатом является соответствующее комплексной число. Matlab также содержит и более сложные функции, большинство из которых имеют комплексные аргументы.
Некоторые функции, такие как sqrt и sin, - встроенные. Они являются частью Matlab, поэтому они очень эффективны, в то время как другие функции реализованы в m-файлах. Поэтому можно легко увидеть их код и в случае необходимости даже модифицировать его.
Перечислим основные элементарные функции.
Тригонометрические функции
sin |
Синус |
sinh |
Гиперболический синус |
asin |
Арксинус |
asinh |
Гиперболический арксинус |
cos |
Косинус |
cosh |
Гиперболический косинус |
acos |
Арккосинус |
acosh |
Гиперболический арккосинус |
tan |
Тангенс |
tanh |
Гиперболический тангенс |
atan |
Арктангенс |
atan2 |
Арктангенс от двух аргументов |
atanh |
Гиперболический арктангенс |
sec |
Секанс |
sech |
Гиперболический секанс |
asec |
Арксеканс |
asech |
Гиперболический арксеканс |
csc |
Косеканс |
csch |
Гиперболический косеканс |
acsc |
Арккосеканс |
acsch |
Гиперболический арккосеканс |
cot |
Котангенс |
coth |
Гиперболический котангенс |
acot |
Арккотангенс |
acoth |
Гиперболический арккотангенс |
Трансцендентные функции
exp |
Экспоненциальная функция |
log |
Функция натурального логарифма |
log10 |
Логарифм по основанию 10 |
log2 |
Логарифм по основанию 2 |
pow2 |
Экспонента по основанию 2 |
sqrt |
Функция квадратного корня |
nextpow2 |
Ближайшая степень экспоненты по основанию 2 |
Функции обработки комплексных чисел
abs |
Абсолютное значение комплексного числа |
angle |
Аргумент комплексного числа |
conj |
Комплексно-сопряженное число |
imag |
Мнимая часть комплексного числа |
real |
Действительная часть комплексного числа |
unwrap |
Непрерывная функция фазового угла |
isreal |
Истинно, если это массив действительных чисел |
cplxpair |
Сортировка комплексно-сопряженных пар |
Округление и модульная арифметика
fix |
Усечение дробной части числа |
floor |
Округление до меньшего целого |
ceil |
Округление до большего целого |
round |
Округление до ближайшего целого |
mod |
Остаток в смысле модульной арифметики |
rem |
Остаток от деления с учетом знака |
sign |
Знак числа |
Специальные математические функции
airy |
Функция Эйри |
bessel |
Функция Бесселя первого рода |
bessely |
Функция Бесселя второго рода |
besselh |
Функция Бесселя третьего рода (функция Ганкеля) |
besselk |
Модифицированная функция Бесселя второго рода |
beta |
Полная бета-функция |
betaind |
Неполная бета-функция |
betaln |
Натуральный логарифм полной бета-функции |
ellip |
Эллиптические функции Якоби |
ellipke |
Полные эллиптические интегралы |
err |
Функция ошибки |
erfo |
Остаточная функция ошибки |
erfcx |
Масштабированная остаточная функция ошибки |
erfinv |
Обратная функция ошибки |
expin |
Интегральная показательная функция |
gamma |
Полная гамма-функция |
gammaln |
Натуральный логарифм полной гамма-функции |
legendre |
Функция Лежандра |
cross |
Векторное произведение векторов |
Теоретико-числовые функции
factot |
Разложение числа на простые множители |
isprime |
Истинно, если число простое |
primes |
Формирование списка простых чисел |
gcd |
Наибольший общий делитель |
lcm |
Наименьшее общее кратное |
rat |
Приближение числа в виде рациональной дроби |
rats |
Вычисления в поле рациональных чисел |
perms |
Формирование всех перестановок элементов вектора |
nchoosek |
Вычисление числа
сочетаний,
|
Функции преобразования систем координат
cart2sph |
Преобразование декартовой системы в сферическую |
cart2po |
Преобразование декартовой системы в полярную |
pol2car |
Преобразование полярной системы в декартову |
sph2car |
Преобразование сферической системы в декартову |
hsv2rgb |
Преобразование hsv-палитры в rgb-палитру |
rgb2hsv |
Преобразование rgb-палитры в hsv-палитру |
Рассмотрим несколько примеров.
Пример 2.5. Вычисление натурального логарифма элементов массива X. Область определения функции включает комплексные и отрицательные числа, что способно привести к непредвиденным результатам при некорректном использовании. Для комплексного или отрицательного z, где z = х + y*i вычисляется комплексный логарифм в виде log(z) = log(abs(z)) + i*atan2(y,x).
Х=[1.2 3.34 5 2.3];
log(X)
ans=
-0.1823 1.2060 1.6094 0.8329
Пример 2.6. Использование функции mod. mod(x,y) - возвращает х mod у; mod(X, Y) - возвращает остаток от деления X на Y (т. е., X - Y.*floor(X./Y)) для ненулевого Y, и X в противном случае. Если операнды X и Y имеют одинаковый знак, функция mod(X, Y) возвращает тот же результат, что mod(Х, Y). Однако (для положительных X и Y) mod(-x,y) = rem(-x,y)+y.
М = mod(5,2)
М =
1
mod(10,4)
ans =
2
Пример 2.7. Применение функции pow2. Функция X=pow2(Y) - возвращает массив X, где каждый элемент есть 2Y; pow2(F,E) - вычисляет Х=F*2E для соответствующих элементов F и Е. Аргументы F и Е - массивы действительных и целых чисел соответственно.
d=pow2(pi/4,2)
d =
3.1416