mikeyxy 发表于 2008-5-22 21:30

qr分解

请问matlab中的QR分解,如何使上三角阵R的对角元素为正?matlab有什么函数么?因为直接用qr分解,对角线上肯定是有负数的。还希望大家帮帮忙!

[ 本帖最后由 sigma665 于 2008-5-23 08:39 编辑 ]

sigma665 发表于 2008-5-23 08:39

回复 楼主 的帖子

矩阵论上面说qr分解是唯一的:@L

gh688 发表于 2008-5-23 11:06

QR分解不是唯一的,但是如果规定了上三角矩阵R的各个对角元的符号(比如全为正数),那QR分解就是唯一的。Matlab里没有使上三角阵R的对角元素为正的函数。
A=Q1R1=Q2R2,其中Q2=Q1*inv(D),R2=D*R1(D是对角的酉矩阵,且对角元的模等于1). 所以你如果对Matlab计算的QR分解不满意的话,你可以根据R对角元的负值直接构造一个D矩阵(这个D应该简单)把负数再乘一个-1,这样不就可以使上三角阵R的对角元素为正啦

mikeyxy 发表于 2008-5-24 19:20

因为每次被QR分解的矩阵都是随机的,所以上述方法可能就使用起来就不方便了。怪我没讲清楚情况,抱歉啊!

gh688 发表于 2008-5-24 19:29

回复 4楼 的帖子

我问你一下你的QR分解为什么非要使上三角阵R的对角元素为正,不太明白。

mikeyxy 发表于 2008-5-26 10:07

目前正需要这样的形式,论文中需要!而且定义中本来就应该是正数的吧!但是不知道是不是MATLAB中直接QR出来也符合要求。
页: [1]
查看完整版本: qr分解