Базовый синтаксис для работы с матрицами в Euler не сильно отличается от такового в Matlab-подобных программах: в квадратных скобках перечисляются элементы матрицы. Числа вводятся построчно, разделяясь запятыми, в конце строки ставится точка с запятой. Если длины строк разные, недостающие элементы заполняются нулями.
[1, 2; 3, 4, 5] -> [1, 2, 0; 3, 4, 5]
Сформировать вектор-строку можно с помощью выражения
a:h:b
где a и b - границы диапазона, h - шаг (по-умолчанию равен 1).
Для доступа к элементу нужно указать его индекс в квадратных скобках. Индексация начинается с 1. Если один из индексов пропущен, будет возвращена вся строка (столбец). Использование двоеточия позволяет выделить подматрицу.
A = [1, 2, 3; 4, 5, 6; 7, 8, 9]
A[2,1] -> 4
A[3,] -> [7, 8, 9]
A[1:2, 1:3] -> [1, 2, 3; 4, 5, 6]
Аналогично можно присваивать значения элементам матрицы, например, обнулить указанный диапазон:
A[1:2, 1:3] = 0
Для горизонтальной конкатенации матриц используется операция '|', для вертикально - '_': A|B или A_B. Также, можно использовать более "классические" варианты [A,B] и [A;B].
Арифметические операции (а также операции сравнения) в применении к матрицам выполняются поэлементно. Для матричного произведения служит оператор - точка (A.B). Для вычисления обратной матрицы используется функция inv(A), другой вариант - возведение в обратную степень с помощью функции matrixpower(A,-1). Единичная матрица генерируется с помощью id(n).
Подробнее познакомиться с матричными операциями можно на странице справки
01 - Matrix Language
Комментариев нет:
Отправить комментарий