элементом другого операнда. Позиции, где это соотношение истинно, получают значение 1, где ложно - 0.
Каждому логическому оператору соответствует некоторый набор условий, которые определяют результат логического выражения:
Логическое выражение с оператором AND (&) является истинным, если оба операнда истинны. Если элементами логического выражения являются числа, то выражение истинно, если оба операнда отличны от нуля.
Логическое выражение с оператором OR (|) является истинным, если один из операндов или оба операнда логически истинны. Выражение ложно, только если оба операнда логически ложны. Если элементами логического выражения являются числа, то выражение ложно, если оба операнда равны
нулю.
Логическое выражение с оператором NOT (~) строит отрицание. Результат логически ложен, если операнд истинен, и истинен, если операнд ложен. Если элементами логического выражения являются числа, то любой операнд, отличный от нуля, становится нулем, и любой нулевой операнд становится единицей.
xor, all, any, isnan, isinf |
Логические функции |
|
|
В дополнение к логическим операторам в состав системы MATLAB включен ряд логических функций:
хоr(а, b)
реализует операцию ИСКЛЮЧИТЕЛЬНОЕ ИЛИ. Выражение, содержащее ИСКЛЮЧИТЕЛЬНОЕ ИЛИ истинно, если один из операндов имеет значение TRUE, а другой - FALSE. Для числовых выражений функция возвращает 1, если один из операндов отличен от нуля, а другой – 0;
all возвращает 1, если все элементы вектора истинны или отличны от
нуля;
any возвращает 1, если хотя бы один из элементов аргумента отличен от нуля; иначе возвращается 0. В случае обработки массивов функция any является столбцовоориентированной;
isnan и isinf
возвращают 1 если аргументом функции являются переменные, имеющие значения соответственно в NaN и Inf;
isfinite истинна только для величин, которые не имеют значений inf или NaN (т.е. истинна для всех числовых значений аргумента).
Допустимо использование функций И, ИЛИ и НЕ в явном виде : and, or, not. Аргументами логических операторов могут быть числа и строки, при этом за 1 принимается любое числовое значение, отличное от 0.
Полный список логических функций системы MATLAB содержится в каталоге ops.
|
[] |
() = ‘ . , ; : % ! |
|
Специальные символы |
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
||||||
|
[ ] |
|
Квадратные |
|
Формирование векторов и матриц; |
||||||
|
|
|
скобки |
|
указание |
последовательности |
выходных |
||||
|
|
|
|
|
параметров при обращении к функциям, |
||||||
|
|
|
|
|
возвращающим более одного параметра |
||||||
|
( ) |
|
Круглые скобки |
|
Указание порядка выполнения операций в |
||||||
|
|
|
|
|
арифметических выражениях; |
|
|
|
|||
|
|
|
|
|
указание индексов элемента вектора, |
||||||
|
|
|
|
|
матрицы, массива; |
|
|
|
|
|
|
|
|
|
|
|
указание |
последовательности |
входных |
||||
|
|
|
|
|
параметров функции |
|
|
|
|
||
|
= |
|
Знак |
|
Знак присваивания |
в арифметических |
|||||
|
|
|
присваивания |
|
выражениях |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
‗ |
|
Транспонировани |
Транспонирование, |
сопровождаемое |
||||||
|
|
|
е матриц |
|
комплексным сопряжением для комплексных |
||||||
|
|
|
|
|
матриц |
|
|
|
|
|
|
|
. |
|
Разделитель |
- |
Десятичная точка; |
|
|
|
|
||
|
|
|
точка |
|
поэлементное |
выполнение |
операций над |
||||
|
|
|
|
|
массивом данных |
|
|
|
|
|
|
|
.. |
|
|
|
Переход по дереву каталогов на один |
||||||
|
|
|
|
|
уровень вверх |
|
|
|
|
|
|
|
… |
|
|
|
Признак продолжения строки |
|
|
||||
|
, |
|
Разделитель |
– |
Указание индексов элемента вектора, |
||||||
|
|
|
запятая |
|
матрицы, массива; |
|
|
|
|
|
|
|
|
|
|
|
отделение операторов языка MATLAB |
||||||
|
; |
|
Разделитель |
– |
Отделение строк матриц или массивов; |
||||||
|
|
|
точка с запятой |
|
подавление вывода на экран результатов |
||||||
|
|
|
|
|
вычислений |
|
|
|
|
|
|
|
: |
|
Разделитель |
– |
Заголовок цикла for; |
|
|
|
|
||
|
|
|
двоеточие |
|
формирование векторов, выделение строк, |
||||||
|
|
|
|
|
столбцов подблоков массива |
|
|
|
|||
|
% |
|
Указатель |
|
Указатель логического конца строки. |
||||||
|
|
|
|
|
Следующий |
за |
ним |
текст |
игнорируется |
||
|
|
|
|
|
(является комментарием) |
|
|
|
|
||
|
! |
|
Указатель |
|
Является указателем ввода команды DOS |
||||||
i или j |
Мнимая единица |
|
|
Константам i и j первоначально присваивается значение, равное sqrt(-1). Они используются для ввода комплексных чисел.
Числа 3+2i, 3+2*i, 3+2j представляют одно и тоже комплексное число.
inf |
Бесконечность |
Inf – специальная переменная, позволяющая фиксировать переполнение разрядной сетки ЭВМ. Этот механизм очень редко предоставляется пользователю для работы, однако в системе MATLAB это обеспечено благодаря возможностям арифметического сопроцессора.
Например, при выполнении деления на нуль машина выдаст сообщение
Warning: Divide by zero ans = Inf.
NaN |
Нечисловое значение |
NaN – специальная переменная, принятая в стандарте IEEE-арифметики, которая позволяет фиксировать результат, не представимый в виде числа. Следующие операции имеют результат в виде переменной NaN:
умножение вида 0*Inf;
деление вида 0/0 и Inf/Inf;
сложение и вычитание бесконечностей, например (+Inf) – (-Inf);
вычисление функций остатка rem(x, y) для y = 0 или x = Inf;
любые арифметические операции с переменной NaN.
pi |
Число (3.1415926535897…) |
|
|
Константа, рассчитываемая по одной из формул: pi = 4*atan(1) = imag(log(-1)) = 3.1415926535897…
eps |
Машинная точность |
|
|
Переменная eps определяет относительную точность операций с плавающей точкой, которая часто используется для оценки сходимости итерационных методов. Машинная точность eps – это наименьшее число, для которого на данной ЭВМ выполняется соотношение 1.0 + eps > 1.0. Стандартное значение этой переменной составляет 2.220446e-016. Пользователь имеет право назначить этой специальной переменной любое значение, включая 0.
realmax, |
Наименьшее и наибольшее положительные |
realmin |
числа с плавающей точкой |
realmax – наибольшее число с плавающей точкой для данного компьютера; любое большее значение соответствует переменной Inf.
|
realmin – наименьшее нормализованное положительное число с |
плавающей точкой для данного компьютера. |
|
|
Стандартные значения этих констант соответственно равны: |
|
Realmax = 1.797693134862316е+308; |
|
Realmin = 2.225073858507202е-308. |
|
|
find |
Поиск индексов и значений элементов массива по |
|
заданному условию |
Функция find определяет индексы элементов массива, которые удовлетворяют заданному логическому условию. Как правило, она используется с целью создания шаблонов для сравнения и образования массивов индексов. В наиболее употребительной форме функция к = find(x <условие>) возвращает вектор индексов тех элементов, которые удовлетворяют заданному условию,
А= magic(4)
А=
16
5
9
4
k = find(A > 8); |
|
||
A(k) = 100 |
|
|
|
100 |
2 |
3 |
100 |
5 |
100 |
100 |
8 |
100 |
7 |
6 |
100 |
4 |
100 |
100 |
1 |
Функция вида [i, j] = find(x) позволяет получить индексы ненулевых элементов прямоугольного массива.
Функция вида [i, j. s] = find(x) возвращает, кроме того, и их значения в виде вектора s.
1. 5. Элементарные математические функции
Элементарные математические функции, пожалуй, наиболее известный класс функций системы MATLAB. Поэтому, не останавливаясь подробно на их описании, представим перечень имеющихся функций.
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 |
гиперболический арккотангенс |
log |
натуральный логарифм |
log10 |
логарифм по основанию 10 |
log2 |
логарифм по основанию 2 |
pow2 |
2 в степени аргумента функции |
sqrt |
корень квадратный |
abs |
модуль аргумента (в том числе и комплексного) |
angle |
значение фазы комплексного аргумента |
conjugate |
комлексно-сопряженное значение комплексного аргумента |
imag |
мнимая часть комплексного аргумента |
real |
действительная часть комплексного аргумента |
fix |
округление аргумента в сторону ―0‖ |
floor |
округление аргумента в сторону |