【matlab】 QR分解 求矩阵的特征值
"QR_H.m" function [Q,R] = QR_tao(A)
%输入矩阵A
%输出正交矩阵Q和上三角矩阵R
[n,n]=size(A);
E = eye(n);
X = zeros(n,);
R = zeros(n); P1 = E;
for k=:n-
s = -sign(A(k,k))*norm(A(k:n,k));
R(k,k) = -s;
if k ==
w = [A(,)+s,A(:n,k)']';
else
w = [zeros(,k-),A(k,k)+s,A(k+:n,k)']';
R(:k-,k) = A(:k-,k);
end
if norm(w)~=
w = w/norm(w);
end
P = E-*w*w';
A = P*A;
P1 = P*P1;
R(:n,n) = A(:n,n);
end
之后根据算法:
An = Q1*R1;
An+1 = R1*Q1
重复迭代即可。
"QR.m"
%输入 矩阵A 和迭代次数 it_max
%输出 最后对角线上元素为特征值的矩阵
function [Q] = QR(A,it_max)
A1 = A;
for N=:it_max
[Q1,R1] = QR_tao(A1);
A2 = R1*Q1;
A1 = A2;
end
Q=A1
测试: 计算一个矩阵的特征值:
A = [,-,-,;
-,,,-;
-,,,-;
,-,-,;
];
[Q] = QR(A,)
eig(A)
最后结果:

【matlab】 QR分解 求矩阵的特征值的更多相关文章
- 机器学习中的矩阵方法03:QR 分解
1. QR 分解的形式 QR 分解是把矩阵分解成一个正交矩阵与一个上三角矩阵的积.QR 分解经常用来解线性最小二乘法问题.QR 分解也是特定特征值算法即QR算法的基础.用图可以将分解形象地表示成: 其 ...
- 矩阵QR分解
1 orthonormal 向量与 Orthogonal 矩阵 orthonormal 向量定义为 ,任意向量 相互垂直,且模长为1: 如果将 orthonormal 向量按列组织成矩阵,矩阵为 ...
- MATLAB命令大全和矩阵操作大全
转载自: http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示在MATLAB中创建矩阵 ...
- QR分解与最小二乘
主要内容: 1.QR分解定义 2.QR分解求法 3.QR分解与最小二乘 4.Matlab实现 一.QR分解 R分解法是三种将矩阵分解的方式之一.这种方式,把矩阵分解成一个正交矩阵与一个上三角矩阵的 ...
- QR分解与最小二乘(转载自AndyJee)
转载网址:http://www.cnblogs.com/AndyJee/p/3846455.html 主要内容: 1.QR分解定义 2.QR分解求法 3.QR分解与最小二乘 4.Matlab实现 一. ...
- QR分解迭代求特征值——原生python实现(不使用numpy)
QR分解: 有很多方法可以进行QR迭代,本文使用的是Schmidt正交化方法 具体证明请参考链接 https://wenku.baidu.com/view/c2e34678168884868762d6 ...
- MATLAB中求矩阵非零元的坐标
MATLAB中求矩阵非零元的坐标: 方法1: index=find(a); [i,j]=ind2sub(size(a),index); disp([i,j]) 方法2: [i,j]=find(a> ...
- matlab求矩阵、向量的模
求矩阵的模: function count = juZhenDeMo(a,b) [r,c] = size(a);%求a的行列 [r1,c1] = size(b);%求b的行列 count = 0; f ...
- QR分解
从矩阵分解的角度来看,LU和Cholesky分解目标在于将矩阵转化为三角矩阵的乘积,所以在LAPACK种对应的名称是trf(Triangular Factorization).QR分解的目的在 ...
随机推荐
- URL编码分析与乱码解决方案
一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://ww ...
- Maven 常见问题
1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven ...
- python hive.py
#!/usr/bin/env python# -- coding:utf-8 -- import osimport sysfrom subprocess import call from pyspar ...
- 13.Promise 对象
Promise 对象 Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其 ...
- Firebird 备份与恢复
备份test gbak -b test d:\test.bak -user sysdba 恢复为test1 gbak -c d:\test.bak test1
- 转载:@Html.ValidationSummary(true)
ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true) http://www.wyjexplorer.cn/Post/2012/8/3/model ...
- 一次查找Windows Live Writer的VSPaste插件丢失RTF格式信息的经历
背景 我在博客园上写博客是使用Windows Live Writer,代码高亮插件是使用Paste from Visual Studio(下文简称VSPaste). Windows Live Writ ...
- Kafka、RabbitMQ、RocketMQ消息中间件的对比
引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,目前对Kafka.RabbitMQ.RocketMQ这三个消息中间件做下对比分析. - - k ...
- Android开发之旅1:环境搭建及HelloWorld
——工欲善其事必先利其器 引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方 ...
- django 数据库 ORM创建表单是出错
WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default' HINT: MySQL ...