Matlab中diag函数注意事项
在给李X写SVD代码的时候注意到的。
>> a = magic(3)
a =
8 1 6
3 5 7
4 9 2
>> diag(a)
ans =
8
5
2
>> a = [8 5 2]
a =
8 5 2
>> diag(a)
ans =
8 0 0
0 5 0
0 0 2
>> a = [8:5:2]
a =
Empty matrix: 1-by-0
>> a = [8;5;2]
a =
8
5
2
>> diag(a)
ans =
8 0 0
0 5 0
0 0 2
可以看出,如果A是矩阵,那么diag(A)得到的是列向量,如果A是行列向量,那么得到的是矩阵(对角有元素,其他事0),后者使我们需要的。
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.