声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2820|回复: 5

[编程技巧] 实对称矩阵对角化问题求助

[复制链接]
发表于 2012-8-29 16:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
实对称矩阵都可以对角化,我需要得到对角化后的对角阵及对角化时左右乘上的正交阵

A 是个实对称矩阵。我用matlab自带的orth函数,(用的是奇异值分解svd方法),v=orth(A),然后B=v'*A*v,即为对角化后的单位阵。 但是当矩阵A有0特征值,即A不满秩的时候,orth函数求出的正交基v列向量也不满秩,个数与A秩相同,v就不是需要的正交阵了。  此时求得的B矩阵与A矩阵也不同阶。我想要得到的是,无论A有无0特征值,求出的正交基仍然是正交阵。   求老师指点,谢谢!:handshake

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2012-8-29 23:24 | 显示全部楼层
回复 1 # mayuanzhuo 的帖子

lz用orth这个方法求出的是一个矩阵的range space,range space和null space共同组成了svd分解出来的v矩阵。满秩矩阵情况下,NS是空集,RS就是V矩阵。非满秩矩阵dim[RS(A)]=rank(A)。直接用[u,s,v]=svd(A)就可以了

评分

1

查看全部评分

 楼主| 发表于 2012-8-30 05:30 | 显示全部楼层
回复 2 # 321forever 的帖子

先谢谢了,svd函数不熟悉,我来研究下。:handshake
 楼主| 发表于 2012-8-30 05:30 | 显示全部楼层
回复 2 # 321forever 的帖子

先谢谢了,svd函数不熟悉,我来研究下。:handshake
 楼主| 发表于 2012-9-9 17:49 | 显示全部楼层
回复 2 # 321forever 的帖子

你好,上次谢谢你的指导。用svd奇异值分解,如果是实对称阵的话,算出来的对角矩阵对角元不是特征值,是特征值的模;而我需要的是特征值,请问还有什么好办法吗,谢谢!
发表于 2012-10-4 02:42 | 显示全部楼层


实对称矩阵的特征值必为实数
x=[a -b;-b c];
lz可以自己推下;
求特征值eig函数应该可以满足吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-14 03:44 , Processed in 0.064098 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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