| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → MATLAB |
| Contents | Index |
| Learn more about MATLAB |
X = diag(v,k)
X = diag(v)
v = diag(X,k)
v = diag(X)
X = diag(v,k) when v is a vector of n components, returns a square matrix X of order n+abs(k), with the elements of v on the kth diagonal. k = 0 represents the main diagonal, k > 0 above the main diagonal, and k < 0 below the main diagonal.

X = diag(v) puts v on the main diagonal, same as above with k = 0.
v = diag(X,k) for matrix X, returns a column vector v formed from the elements of the kth diagonal of X.
v = diag(X) returns the main diagonal of X, same as above with k = 0 .
diag(diag(X)) is a diagonal matrix.
sum(diag(X)) is the trace of X.
diag([]) generates an empty matrix, ([]).
diag(m-by-1,k) generates a matrix of size m+abs(k)-by-m+abs(k).
diag(1-by-n,k) generates a matrix of size n+abs(k)-by-n+abs(k).
The statement
diag(-m:m)+diag(ones(2*m,1),1)+diag(ones(2*m,1),-1)
produces a tridiagonal matrix of order 2*m+1.
![]() | deval | dialog | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |