function[]=iqr()
% 实验名称:方阵的QR分解
% 实验描述:先将方阵化为上海申博格阵,再用QR分解法求上海申博格阵的特征值,则所得到的特征值也是方阵的特征值
% 作者:newplan
% 实验完成日期:6月10号
%下面的A为测试三阶的方阵
A=[5,-3,2;6,-4,4;4,-4,5]
%下面的A为测试四阶的方阵
%A = [1 2 1 2;2 2 -1 1;1 -1 1 1;2 1 1 1]
%通过调用malab的自带的函数求得A的所有特征值和特征向量
%特征值保存在v中,特征向量保存的在d中,将其打印出来和我们的算法算出来的特征值进行对比
[v,d]=eig(A)
%求出行和列的大小
msize=size(A);
%取得矩阵的列数,其实行数和列数都为n
n=msize(1);
%生成n阶单位阵
Q=eye(n);
%用household的方法求矩阵A的上海森伯格阵
for i=1:n-2%从第一列开始到倒数第三列 %求出每一列的最大值d=max(abs(A(i+1:n,i)));%规范化U(i+1:n,i)=A(i+1:n,i)/d;delta=U(i+1,i)*norm(U(i+1:n,i))/abs(U(i+1,i));U(i+1,i)=U(i+1,i)+delta;beta = delta*U(i+1,i);%求出R矩阵根据课本316P例题三 R = eye(n-i,n-i)-inv(beta)*U(i+1:n,i)*U(i+1:n,i)';u=eye(n,n);for j =i+1:nfor k =i+1:nu(j,k)=R(j-i,k-i);endendA=u*A*u;%生成新的A=u×A×u
end
%error为我们设定的误差限制
error = 0.0000001;
%flag为判断QR法是否继续进行的标志位
flag =1;
while flag==1
flag =0 ;
R =A;
Q = eye(n,n);
%按照QR分解法求出cos,sin 然后计算V,最终得到R和Q
for i=1:n-1r = norm(R(i:i+1,i));icos=R(i,i)/r;isin=R(i+1,i)/r;v=eye(n,n);v(i,i)=icos;v(i+1,i+1)=icos;v(i,i+1)=isin;v(i+1,i)=-isin;R=v*R;Q=Q*v';
end
%用R*Q的结果去替换A
A =R*Q;
%下面这个循环检测A的精度时候足够,去看A的次对角线各个元素的绝对值是否小于误差限制
for w =2:nif abs(A(w,w-1))>errorflag = 1 ;break;%若有其中一个元素的绝对值还是大于误差限制则还要继续进行QR分解end
end
%判断的过程完毕
end
%把A打印出来
A

转载出处:http://www.cppblog.com/newplan/archive/2008/06/24/54439.html

http://emuch.net/html/201004/1981106.html

数值分析方阵的QR分解相关推荐

  1. 数值分析中的QR分解及其代码实现

    QR分解 若 A∈Cm×k A ∈ C m × k A\in C^{m×k} 是一个列满秩的矩阵,rank(A) = k,则矩阵A 可以分解为 A=QR A = Q R A = QR , Q∈Cm×k ...

  2. 矩阵分解——QR分解

    文章目录 满秩方阵的QR分解 矩阵QR分解例题 列满秩矩阵的QR分解 满秩方阵的QR分解 可以看到,该证明过程是构造性的,即通过构造出了 Q Q Q, R R R的方式,证明了QR分解的存在性,不仅证 ...

  3. 数值分析(五):C++实现一般实矩阵的QR分解

    先简单介绍一下一般实矩阵的QR分解是什么: 再是源码,不过这次的C++源码是教材上的,提前说明,才五十几行代码就实现了一般实矩阵的QR分解,精炼且巧妙,若是我来写肯定是办不到这么简洁的,正如<C ...

  4. 双步位移求解特征值matlab,数值分析——带双步位移的QR分解求特征值算法

    C语言实现数值分析中带双步位移的QR分解求特征值算法. 数 值 分 析(B) 大 作 业(二) 1.算法设计: ①矩阵的拟上三角化: 对实矩阵A进行相似变换化为拟上三角矩阵A(n 1),其变换矩阵采用 ...

  5. 基于QR分解迭代求解方阵特征值和特征向量

    基于QR分解迭代求解方阵特征值和特征向量 一.特征值与特征向量求解的难点 线性代数的知识告诉我们如果要求一个方阵的特征值,只需要求解如下的特征方程的根即可: f ( λ ) = ( λ − λ 1 ) ...

  6. Julia 矩阵QR分解和特征值

    Julia 矩阵QR分解和特征值 前言 1. 施密特正交 (1) 利用施密特正交求出正交矩阵Q (2) 求出上三角矩阵R (3) 改进的消减QR分解 2. 完全QR分解 3. 矩阵QR分解的作用 (1 ...

  7. 5.9 QR分解--Gram-Schmidt 分解

    5.9 QR分解–Gram-Schmidt 分解 最小二乘法需要解方程 ATAx=ATbA^TA\mathbf{x} = A^T\mathbf{b}ATAx=ATb ,需要计算矩阵乘法 ATAA^TA ...

  8. 机器学习(十一)——机器学习中的矩阵方法(1)LU分解、QR分解

    http://antkillerfarm.github.io/ 因子分析的EM估计(续) 去掉和各参数无关的部分后,可得: ∑i=1mE[logp(x(i)|z(i);μ,Λ,Ψ)]=∑i=1mE[1 ...

  9. crout分解计算例题_矩阵与数值计算(2)——矩阵三角分解LU、PALU、Cholesky三角分解、QR分解...

    前言 矩阵分解是设计算法的主要技巧,通过分解可以将复杂问题转化为几个简单问题求解,通常完成这一转化任务的主要技巧就是矩阵分解.例如,我们知道上三角矩阵和下三角矩阵是容易求解的,或者对角矩阵是最理想的求 ...

最新文章

  1. boost在DevC++中的安装过程
  2. WebRTCon 2018 Day Two精彩回顾
  3. android 自定义取色器,【Android自定义View】仿Photoshop取色器ColorPicker(二)
  4. 红帽Linux7怎么修改网卡名称,新安装的Centos 7系统怎么将网卡名称改为eth0?
  5. linux的sonar安装,Linux安装sonar
  6. 剑指offer面试题[10]-二进制中1的个数
  7. Flex 国际化使用
  8. 【工作手札】日常工作笔记
  9. 怎样学c语言编程软件,c语言编程软件(新手学c语言用什么软件)
  10. java中为什么要用json_Java中json的使用和解析
  11. 正在保存备份的驱动器与启动计算机,如何创建和使用Dell Recovery Restore USB驱动器...
  12. 在印度与软件相关的发明可不可以申请专利?
  13. 一种简单、安全的Dota全图新思路
  14. 老员工的工资为什么会倒挂?
  15. 轩小陌的Python笔记-day26 必备SQL语句、表关系及授权
  16. mySQL下载后的初次使用
  17. PTA-L1-034微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的
  18. ESP8266固件下载指南
  19. 02-字体相关的样式
  20. vmware Dos声卡驱动安装说明

热门文章

  1. postgresql grant权限解释
  2. Flask中制作博客首页的分类功能(一)
  3. Xamarin开发Android---提示、跳转、传递数值 (学习总结)
  4. 匹配率 php,PHP 正则后瞻 超强匹配是否是域名,准确率99%
  5. android:#FFFFFFFF 颜色码解析
  6. 管理历程篇---学会四心
  7. 用RT Server Customizer定制Windows 2008 R2安装光盘
  8. python学习--关注容易被忽略的知识点--(四)函数式编程
  9. Unity3D开发的赛车单机小游戏详细介绍(附有游戏下载链接)
  10. GDAL源码剖析(十)之编写自己的扩展格式