找回密码
 注册
Simdroid-非首页
查看: 95|回复: 2

Matlab 中 矩阵与其转置乘积的秩会减少

[复制链接]
发表于 2010-5-11 15:15:13 | 显示全部楼层 |阅读模式 来自 天津
也就是说有63行36列矩阵H,rank(H)=36,而rank(H'*H)<36.
不是有定理:一个矩阵和它的转置相乘后的矩阵的秩等于这个矩阵的秩。
上面的结果和定理就不符了。矩阵H中的元素值数量级相差比较大,是不是跟这个原因有关系呢?
另外,H'*H后数量级小的元素相乘得到的值的数量级会更小,超出了Matlab默认的精度而使其在计算中被视为0,是不是这个原因呢?
可是如果是后者的话,应该怎么处理一下,才能使rank(H'*H)=36.?????????
发表于 2010-5-12 09:08:25 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
“H'*H后数量级小的元素相乘得到的值的数量级会更小”,应该是这个原因吧。你可以将矩阵归一化试试。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-5-13 16:07:13 | 显示全部楼层 来自 天津
前面没有说清楚,我实际上要用到的是 H'*H的逆矩阵,我用round圆整H'*H后,倒是可以使其满秩,但求出的结果却不对!而且H'*H的逆矩阵和H'*H相乘后得到的也不是严格的单位对角阵,而是对角线上是1,其它位置是10-n次幂的数,n=-7~-10,这样用 H'*H的逆矩阵所求的结果就有问题了!为什么?用round有什么要求吗?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 23:27 , Processed in 0.041763 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表