matlab为什么[T,S,D]=svd(X,0)后得到的S矩阵含有全0行、列?0 0 4.6 0 0 0 0 1.2 1.6 0.60 0 0 0 0 3.4 1.6 14.8 8.2 0.60.6 0 0 0 4 0 1.6 2.4 2.8 00 0 0 0 0 0 1.2 1.2 3 2.80 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1.2 0 00 0 0.6 0 1.8 0 0 0.6 0.6 2.20
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 00:00:07
matlab为什么[T,S,D]=svd(X,0)后得到的S矩阵含有全0行、列?0 0 4.6 0 0 0 0 1.2 1.6 0.60 0 0 0 0 3.4 1.6 14.8 8.2 0.60.6 0 0 0 4 0 1.6 2.4 2.8 00 0 0 0 0 0 1.2 1.2 3 2.80 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1.2 0 00 0 0.6 0 1.8 0 0 0.6 0.6 2.20
matlab为什么[T,S,D]=svd(X,0)后得到的S矩阵含有全0行、列?
0 0 4.6 0 0 0 0 1.2 1.6 0.6
0 0 0 0 0 3.4 1.6 14.8 8.2 0.6
0.6 0 0 0 4 0 1.6 2.4 2.8 0
0 0 0 0 0 0 1.2 1.2 3 2.8
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1.2 0 0
0 0 0.6 0 1.8 0 0 0.6 0.6 2.2
0 0 0.6 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
计算后得到的S矩阵为
18.0902 0 0 0 0 0 0 0 0 0
0 5.2358 0 0 0 0 0 0 0 0
0 0 4.5568 0 0 0 0 0 0 0
0 0 0 3.3319 0 0 0 0 0 0
0 0 0 0 1.6696 0 0 0 0 0
0 0 0 0 0 0.3887 0 0 0 0
0 0 0 0 0 0 0.0709 0 0 0
0 0 0 0 0 0 0 0.0000 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
经过[T,S,D]=svd(X,0)语句,S矩阵中全0行、列不是应该被去掉么?
这个结果导致无法对S矩阵求逆.
matlab为什么[T,S,D]=svd(X,0)后得到的S矩阵含有全0行、列?0 0 4.6 0 0 0 0 1.2 1.6 0.60 0 0 0 0 3.4 1.6 14.8 8.2 0.60.6 0 0 0 4 0 1.6 2.4 2.8 00 0 0 0 0 0 1.2 1.2 3 2.80 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1.2 0 00 0 0.6 0 1.8 0 0 0.6 0.6 2.20
这个命令是对X进行分解.
你的原矩阵是不可逆的,所以S也是不可逆的.最后几行都是全0.