diag

  • diag(X), where X is a vector, returns a square matrix with X's elements in its main diagonal
  • diag(X,k), where X is a vector, returns a square matrix of order n + abs(k), with X's elements in its k-th diagonal
  • diag(X), where X is a matrix, returns X's main diagonal
  • diag(X,k), where X is a matrix, returns X's k-th diagonal

Examples

> X = 1:3

     [X:1x3 double]

> diag(X)#

            1            0            0
            0            2            0
            0            0            3

> diag(X,2)#

            0            0            1            0            0
            0            0            0            2            0
            0            0            0            0            3
            0            0            0            0            0
            0            0            0            0            0

> diag(X,-1)#

            0            0            0            0
            1            0            0            0
            0            2            0            0
            0            0            3            0
> X = rand(3)#

     0.076717     0.250748     0.524633
     0.407986     0.040717     0.504415
     0.564524     0.515189     0.761564

> diag(X)#

     0.076717
     0.040717
     0.761564

> diag(X,-1)#

     0.407986
     0.515189
	 
> diag(diag(X))#

     0.076717            0            0
            0     0.040717            0
            0            0     0.761564

Resources

See also

ismatrix | sum