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

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Основные функции > Элементарные матрицы > diag

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 Jan 03 14:39:52 CET 2022