Приоритет операций в ML
Приоритет операций определяет порядок действий в выражении. Его можно изменять с помощью круглых скобок. Далее представлены операции в порядке убывания приоритета:
1) логическая операция НЕ (~);
2) транспонирование(.’, ’),возведение в степень(.^, ^);
3) унарный плюс (+), унарный минус (-);
4) умножение и деление(.*, ./, .\, *, /, \);
5) сложение и вычитание (+, -);
6) операции отношения (<, >, <=, >=, ==, ~=);
7) логическая операция И(&);
8) логическая операция ИЛИ(|).
Элементарные функции
В ML существует большое количество элементарных математических функций для выполнения действий с числами: тригонометрические, степенные, логарифмические, экспоненциальные и функции округления. Каждая функция обладает именем и списком аргументов, которые задаются в круглых скобках и, если их несколько, перечисляются через запятую.
Существуют встроенные тригонометрические и гиперболические функции: sin(x), cos(x), tan(x), cot(x), asin(x), acos(x), atan(x), acot(x), sinh(x) и т.д. Аргументы этих функций могут задаваться в радианах и градусах (в следующих версиях, начиная с версии 7.0). У функций в градусной мере после названия добавляется буква d. sin(x) – аргумент в радианах, а sind(x) – аргумент в градусах.
Некоторые часто используемые математические функции:
· exp(x)–экспонента числа x;
· log(x)– натуральный логарифм;
· log10(x)– десятичный логарифм;
· sqrt(x)– квадратный корень;
· abs(x)– абсолютное значение x;
· real(z)– вещественная часть комплексного числа;
· imag(z)– мнимой часть комплексного числа;
· mod(x, y)– остаток от целочисленного деления;
· round(x)– округление до ближайшего целого.
Для работы с датами можно воспользоваться функциями:
· calendar – выводит календарь на текущий месяц;
· date – выводит текущую дату.
Все элементарные функции, приведенные выше, можно применять к векторам и матрицам. Если введен вектор X, то, задав функцию Y=sin(X), получим вектор, элементами которого будут значения синусов элементов исходного вектора:
>> X=[1 2 3 4];
>> Y=sin(X)
Y =
0.8415 0.9093 0.1411 -0.7568
Информацию о любой функции ML можно получить, выполнив команду: help <имя функции>.
Особые матрицы
B ML можно не только задавать матрицы своими значениями или формировать их по формулам, но можно с помощью специальных функций получать особые матрицы:
1. Матрица случайных чисел:
rand(n, m) –формирует матрицу из n строк и m столбцов, заполненную случайными равномерно распределенными числами в интервале от 0 до 1.
rand(n) – формирует квадратную матрицу случайных чисел.
>>A=rand(3)
A =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
Можно задавать размер матрицы, используя вектор из двух элементов, равных числу строк и столбцов. Например,
>> B=rand([3 4])
B =
0.9501 0.4860 0.4565 0.4447
0.2311 0.8913 0.0185 0.6154
0.6068 0.7621 0.8214 0.7919
Если надо сгенерировать матрицу такого же размера, как и существующая матрица, то необходимо выполнить команду
>> rand(size(A))
ans =
0.4103 0.3529 0.1389
0.8936 0.8132 0.2028
0.0579 0.0099 0.1987
size(A) – функция, возвращающая размер матрицы А в виде вектора.
2. Магический квадрат (матрица, у которой суммы элементов в строках, столбцах и диагоналях одинаковы) – magic(n,m):
>> magic(3)
ans =
8 1 6
3 5 7
4 9 2
3. Единичная матрица – eye(n,m):
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
4. Матрица из 0 – zeros(n,m):
>> zeros(3)
ans =
0 0 0
0 0 0
0 0 0
5. Матрица из 1 – ones(n,m):
>> ones(3)
ans =
1 1 1
1 1 1
1 1 1
6. Диагональная матрица. Чтобы получить диагональную матрицу, необходимо задать вектор, количество элементов которого определит размерность матрицы. Значения вектора расположатся на главной диагонали:
>> V=[1 2 3 4 5];
>> diag(V)
ans =
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
7. Выделение диагонали из матрицы:
>> diag(A)
ans =
0.9501
0.8913
0.8214
Результат – вектор-столбец, состоящий из элементов, расположенных на главной диагонали. Иными словами, при исполь-
зовании этой функции, если параметром является матрица, результатом будет вектор, а если параметр – вектор, результат – матри-
ца.
Для увеличения быстродействия работы программы бывает полезно заранеезадать размерность матрицы, для этого создать матрицу с нулевыми элементами – zeros(n,m), а затем заполнять ее значениями.
Операции с векторами и матрицами
В ML операции с векторами и матрицами подразделяются на два типа: поэлементные преобразования и матричные (векторные) операции, которые соответствуют правилам линейной алгебры.
Дата добавления: 2016-03-05; просмотров: 737;