提取矩阵的对角线元素

Extract the diagonal element of the matrix

我需要提取矩阵主对角线的元素:

我尝试了以下解决方案:

[U S V]= svd (T)
lambda= reshape(S',[],1);

但是我得到了包含所有元素的列向量,但我只需要主对角线的元素

我也试过了:

[U S V]= svd (T)
lambda = diag(S);

但是不行

谁能帮我提取对角线的元素?

您应该可以直接在 S

上使用 diag
lambda = diag(S);

来自文档:

D = diag(v) returns a square diagonal matrix with the elements of vector v on the main diagonal.