不多废话,直接贴代码

function [A_, T_, T] = my_qr_givens( A )
%利用givens旋转进行qr分解
%输出
%A_ 每次变换后的A矩阵
%T_ 对应于A_的变换矩阵A_ = sym([]);T_ = sym([]);A = sym(A);n = size(A,1);T = sym(eye(n));sum = 1;for j = 1:n-1 %从第一列到第n-1列,全部变换到第j列第j个元素上for i = j+1:n %从第j+1行到第n行if A(i,j) ~= 0r = (A(j,j)*A(j,j)'+ A(i,j)*A(i,j)')^(1/2);%r = simplify(sym(real(A(j,j))^2 + imag(A(j,j))^2 + real(A(i,j))^2 + imag(A(i,j))^2)^(1/2));T_(:,:,sum) = eye(n);T_(j,j,sum) = A(j,j)/r;T_(i,i,sum) =  A(j,j)/r;T_(j,i,sum) = A(i,j)/r;T_(i,j,sum) = -A(i,j)/r;A_(:,:,sum) = T_(:,:,sum)*A;T = simplify(T_(:,:,sum)*T);A = A_(:,:,sum);sum = sum + 1;endendend
end

用Givens旋转进行矩阵QR分解相关推荐

  1. Python+numpy实现矩阵QR分解

    感谢广东东软学院计算机系赵晨杰老师的交流. 如果实(复)非奇异矩阵A能够化成正交(酉)矩阵Q与实(复)非奇异上三角矩阵R的乘积,即A=QR,则称其为A的QR分解. Python扩展库numpy实现了矩 ...

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

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

  3. QR算法的Matlab 程序,三种实现矩阵QR分解的算法与程序

    To learn, to share, to debate, then comes progress. ------------------------------------------------ ...

  4. r语言中矩阵QR分解_R语言常用的矩阵操作

    R语言是一门非常方便的数据分析语言,它内置了许多处理矩阵的方法.下面列出一些常用的矩阵操作方法示例. 矩阵的生成 > mat <- matrix(1:16, ncol = 4, nrow ...

  5. 数值分析--矩阵QR分解的三种方法

    QR分解法是目前求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量.它是将矩阵分解成一个正规正交矩阵Q与上三角形 ...

  6. r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组

    从零开始学R语言Day4|向量.矩阵和数组 1.1向量 1.1.1向量 在Day2中我们提及过用和c()函数来构建向量,具体实例如下. 我们还可以采用vector("类型",长度) ...

  7. 施密特正交化 对矩阵QR分解

  8. QR decomposition and Givens Rotation (QR分解与Givens旋转)

    在最近做的一个研究中,需要对 QR 分解进行更新,因此了解了一些关于 QR 分解和 Givens 旋转的内容.在这里进行总结. QR 分解 所谓 QR 分解,就是将一个矩阵(可以不是方阵)分解成一个正 ...

  9. 矩阵的QR分解以及在最小二乘法中的应用

    一.最小二乘法   最小二乘法是一种数学优化方法,通过最小化误差的平方和来拟合数据点.   以线性回归模型为例,如果我们用最小二乘法来求解线性回归的系数,可得: err(yi−y^)=1n∑i=1n( ...

最新文章

  1. java 之 学习过程中遇到的大佬博客
  2. 解决DataList控件无缝滚动图片(转)
  3. APK文件的解包打包和修改
  4. android Wifi开发相关内容
  5. 百度地图滚轮缩放,所在点偏移问题
  6. UI5 registerModulePath
  7. 30款非常酷的创意名片设计欣赏
  8. ACM/CF赛制getstart模板
  9. 持续集成部署Jenkins工作笔记0010---创建工程并配置源码管理
  10. .net 读取xml文件
  11. Sql Server 中利用游标对table 的数据进行分组统计式输出…
  12. 该网站可能含有恶意软件,有可能会危害您的电脑 清除办法
  13. C++中嵌入python程序——命令行模式
  14. 多线程与多进程之间比较
  15. huya虎牙小程序------真心话大冒险
  16. 判断一个数是否是素数
  17. html中http502怎么解决,Http Error 502 解决方法
  18. html中splice向数组添加元素,js中splice()的强大(删除,插入或替换数组的元素)
  19. PHP 中 GD库(以及Jpgraph库) 的配置和使用。(满屏荒唐言,一把辛酸泪)
  20. 基于C90标准的C语言开发工具

热门文章

  1. coqui(一)phoneme到sequence
  2. i7 10870h和i9 10980hk 有什么区别
  3. 全球与中国佐米曲普坦市场深度研究分析报告
  4. 神舟战神t8和z8区别 神舟战神t8和z8哪个好
  5. win10系统如何删除右键新建文件中不想要的格式
  6. 刺激战场服务器位置,绝地求生刺激战场Y城位置分布详解_可可网
  7. 微信公众平台 /微信公众平台怎么用
  8. 鼠标拖拽建立选区,选中元素
  9. 哪款半入耳式蓝牙耳机音质好?音质比较好的半入耳式蓝牙耳机推荐
  10. 用Java写LRC制作器,实现音乐播放和滑块条进度同步