Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - Русский


diag

включение или исключение диагонали

Синтаксис

y = diag(vm)
y = diag(vm, k)

Аргументы

vm

вектор или матрица (полная или разрежённая)

k

целое число (значение по умолчанию: 0)

y

вектор или матрица

Описание

Для vm, вектора-строки (или вектора-столбца) с n элементами, diag(vm) возвращает диагональную матрицу с элементами из vm вдоль главной диагонали.

diag(vm,k) является матрицей (n+abs(k))x(n+abs(k)) с элементами из vm вдоль k-той диагонали. k=0 является главной диагональю; для верхних диагоналей k>0; для нижних диагоналей k<0.

Для матрицы vm, diag(vm,k) является вектором-столбцом, составленным из элементов k-той диагонали в vm. diag(vm) является главной диагональю vm. diag(diag(x)) является диагональной матрицей.

Если vm является разрежённой матрицей, то diag(vm,k) возвращает разряжённую матрицу.

Чтобы построить диагональную линейную систему, используйте blockdiag.

Заметьте, что eye(A).*A возвращает диагональную матрицу, построенную с диагональными элементами из A. Это правильно для любой матрицы (констант, полиномиальной, рациональной, линейной системы пространств-состояний, ...).

Примеры

diag([1,2])

A=[1,2;3,4];
diag(A)  // главная диагональ
diag(A,1)

diag(sparse(1:10))  // разряжённую диагональная матрица

// формируем трёхдиагональную матрицу размером 2*m+1
m=5;diag(-m:m) +  diag(ones(2*m,1),1) +diag(ones(2*m,1),-1)

Смотрите также

  • toeplitz — Toeplitz matrix (chosen constant diagonal bands)
  • eye — единичная матрица
  • blockdiag — Создаёт блочную диагональную матрицу из указанных массивов. Соединение диагональной системы блоков.
  • spec — собственные значения и собственные вектора матрицы или пучка
  • bdiag — блоковая диагонализация, обобщённые собственные векторы
Report an issue
<< blockdiag Элементарные матрицы пустая матрица [] >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:55:05 CEST 2024