Section: Array Generation and Manipulations
diag
function is used to either construct a
diagonal matrix from a vector, or return the diagonal
elements of a matrix as a vector. The general syntax
for its use is
y = diag(x,n)
If x
is a matrix, then y
returns the n
-th
diagonal. If n
is omitted, it is assumed to be
zero. Conversely, if x
is a vector, then y
is a matrix with x
set to the n
-th diagonal.
diag
being used to extract
a diagonal from a matrix.
--> A = int32(10*rand(4,5)) A = <int32> - size: [4 5] Columns 1 to 5 7 1 7 1 4 4 5 1 4 1 2 2 2 8 2 5 5 9 3 5 --> diag(A) ans = <int32> - size: [4 1] Columns 1 to 1 7 5 2 3 --> diag(A,1) ans = <int32> - size: [4 1] Columns 1 to 1 1 1 8 5
Here is an example of the second form of diag
, being
used to construct a diagonal matrix.
--> x = int32(10*rand(1,3)) x = <int32> - size: [1 3] Columns 1 to 3 4 2 3 --> diag(x) ans = <int32> - size: [3 3] Columns 1 to 3 4 0 0 0 2 0 0 0 3 --> diag(x,-1) ans = <int32> - size: [4 4] Columns 1 to 4 0 0 0 0 4 0 0 0 0 2 0 0 0 0 3 0