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