diag
Функция создания диагональной матрицы.
Синтаксис
M = diag(X);
M = diag(X, nrow);
M = diag(X, nrow, ncol);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| X | array / carray | Входной массив |
| nrow | integer | Количество строк в выходной матрице, значение должно быть больше размерности входного массива X |
| ncol | integer | Количество столбцов в выходной матрице, значение должно быть больше размерности входного массива X |
Описание
diag(X)
– функция возвращает квадратную матрицу, у которой диагональные элементы равны элементам
вектора X (диагональную матрицу). Все остальные элементы матрицы, стоящие
вне главной диагонали, равны нулю.
diag(X,
nrow) – функция возвращает прямоугольную матрицу, у которой количество
строк равно nrow, количество столбцов определяется размерностью X,
диагональные элементы равны элементам вектора X. Все остальные элементы
матрицы, стоящие вне главной диагонали, равны нулю.
diag(X, nrow,
ncol) – функция возвращает прямоугольную матрицу размерности nrow ×
ncol, у которой диагональные элементы подматрицы размерности
cols(X) ×
cols(X) равны элементам вектора
X. Все остальные элементы матрицы равны нулю.
Входной массив X может задаваться:
- как переменная типа массив, определенная ранее:
М = diag(X); - как массив, состоящий из переменных, определенных ранее:
M = diag([x1, x2, x3, x4]); - как постоянный массив:
M = diag([1, 2, 3, 4]);
Количество строк и столбцов может задаваться аналогичным образом как переменная или константа.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| M | array2 / carray2 | Диагональная квадратная матрица, если не заданы nrow и
ncol. Диагональная матрица, дополненная нулевыми строками и
столбцами, если заданы nrow и ncol |
Пример 1
const X = [2, 2, 1, 3, 4];
M = diag(X);
M будет присвоено значение матрицы, у которой
диагональные элементы равны элементам вектора
X:[[2, 0, 0, 0, 0],
[0, 2, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 3, 0],
[0, 0, 0, 0, 4]]Пример 2
const X = [2, 1, 3];
M = diag(X, 5);
В результате переменной M будет присвоено значение прямоугольной матрицы
размерности 5×3, у которой элементы главной диагонали равны элементам вектора
X:
[[2, 0, 0],
[0, 1, 0],
[0, 0, 3],
[0, 0, 0],
[0, 0, 0]]
Пример 3
const X = [2, 1, 3];
M = diag(X, 4, 4);
В результате переменной M будет присвоено значение прямоугольной матрицы
размерности 4×4, включающей в себя диагональную матрицу 3×3, дополненную нулевыми строками и
столбцами:
[[2, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 3, 0],
[0, 0, 0, 0]]
Сопутствующие материалы
Материалов нет.