主要内容:

1、QR分解定义

2、QR分解求法

3、QR分解与最小二乘

4、Matlab实现

一、QR分解 R分解法是三种将矩阵分解的方式之一。这种方式,把矩阵分解成一个正交矩阵与一个上三角矩阵的积。 QR 分解经常用来解线性最小二乘法问题。QR 分解也是特定特征值算法即QR算法的基础。 定义: 实数矩阵 A 的 QR 分解是把 A 分解为Q、R,这里的 Q 是正交矩阵(意味着 QTQ = I)而 R 是上三角矩阵。类似的,我们可以定义 A 的 QL, RQ 和 LQ 分解。 更一般的说,我们可以因数分解复数 m×n 矩阵(有着 m ≥ n)为 m×n 酉矩阵(在 Q?Q = I 的意义上)和n×n 上三角矩阵的乘积。 如果 A 是非奇异的,则这个因数分解为是唯一,当我们要求 R 的对角是正数的时候。

二、QR分解的求法 QR分解的实际计算有很多方法,例如Givens旋转、Householder变换,以及Gram-Schmidt正交化等等。每一种方法都有其优点和不足。

三、QR分解与最小二乘 最小二乘:

对给定数据点{(Xi,Yi)}(i=0,1,…,m),在取定的函数类Φ 中,求p(x)∈Φ,使误差的平方和E^2最小,E^2=∑[p(Xi)-Yi]^2。从几何意义上讲,就是寻求与给定点 {(Xi,Yi)}(i=0,1,…,m)的距离平方和为最小的曲线y=p(x)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。

最小二乘的矩阵形式:Ax=b,其中A为nxk的矩阵,x为kx1的列向量,b为nx1的列向量。如果n>k(方程的个数大于未知量的个数),这个方程系统称为Over Determined System,如果n

正常来看,这个方程是没有解的,但在数值计算领域,我们通常是计算 min ||Ax-b||,解出其中的x。比较直观的做法是求解A‘Ax=A‘b,但通常比较低效。其中一种常见的解法是对A进行QR分解(A=QR),其中Q是nxk正交矩阵(Orthonormal Matrix),R是kxk上三角矩阵(Upper Triangular Matrix),然后min ||Ax-b|| = min ||QRx-b|| = min ||Rx-Q‘b||,用MATLAB命令x=R\(Q‘*b)可解得x。 最小二乘的Matlab实现: ① 一次函数使用polyfit(x,y,1) ②多项式函数使用 polyfit(x,y,n),n为次数 拟合曲线 x=[0.5,1.0,1.5,2.0,2.5,3.0], y=[1.75,2.45,3.81,4.80,7.00,8.60]。 解:MATLAB程序如下: x=[0.5,1.0,1.5,2.0,2.5,3.0]; y=[1.75,2.45,3.81,4.80,7.00,8.60]; p=polyfit(x,y,2) x1=0.5:0.5:3.0; y1=polyval(p,x1); plot(x,y,‘*r‘,x1,y1,‘-b‘) 计算结果为: p =0.5614 0.8287 1.1560 即所得多项式为y=0.5614x^2+0.8287x+1.15560

③非线性函数使用 lsqcurvefit(fun,x0,x,y)

四、QR分解的Matlab实现 [Q,R]=qr(A) or [Q,R]=qr(A,0)    (二者的区别自行help或doc一下)其中Q代表正规正交矩阵,而R代表上三角形矩阵。 此外,原矩阵A不必为正方矩阵; 如果矩阵A大小为n*m,则矩阵Q大小为n*m,矩阵R大小为m*m。

五、参考文献:

原文:http://www.cnblogs.com/AndyJee/p/3846455.html

qr分解实验 matlab,QR分解与最小二乘相关推荐

  1. matlab qr分解作用,MATLAB论文_矩阵的QR分解及其MATLAB实现.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab MATLAB论文_矩阵的QR分解及其MATLAB实 ...

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

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

  3. [矩阵的QR分解系列四] QR(正交三角)分解

    QR分解 简介 QR分解 定义 存在和唯一性 存在性证明 唯一性证明 分解方法 施密特(Schmidt)方法 吉文斯(Givens)方法 豪斯霍尔德(Householder)方法 例子 施密特(Sch ...

  4. 豪斯霍尔德qr分解java_[转]QR分解和酉矩阵

    预备知识 平面旋转与 Householder 矩阵是特殊的酉矩阵,它们在建立某些基本的矩阵分解过程中起着重要的作用. 平面旋转 设 1⩽i 为平面旋转或者 Givens 旋转. 容易验证对任何一对指数 ...

  5. 矩阵分解_满秩分解、三角分解、QR分解、奇异值分解

    矩阵的因子分解 满秩分解 分解方法 满秩分解例题 三角分解(LU分解) 分解方法 三角分解例题 LDU分解 分解方法 LDU分解例题 正交三角分解(QR分解) 分解方法 QR分解例题 奇异值分解(SV ...

  6. matlab矩阵分解

    矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积.常见的矩阵分解有LU分解(三角分解).QR分解(正交变换).Cholesky分解,以及Schur分解.Hessenberg分解.奇 ...

  7. matlab矩阵特征分解,用MATLAB实现矩阵分解

    MATLAB求解线性方程的过程基于三种分解法则: (1)Cholesky分解,针对对称正定矩阵: (2)高斯消元法,  针对一般矩阵: (3)正交化,      针对一般矩阵(行数≠列数) 这三种分解 ...

  8. matlab 矩阵分解

    矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积.常见的矩阵分解有LU分解.QR分解.Cholesky分解,以及Schur分解.Hessenberg分解.奇异分解等. (1) LU ...

  9. 内插滤波器 matlab,多相分解实现内插滤波器.ppt

    多相分解实现内插滤波器 8.3多相分解 I型多相分解 II型多相分解 多相分解和FIR结构 多相分解实现抽取滤波器 多相分解实现内插滤波器 h[k] 为某离散系统的单位脉冲序列,H(z)是其系统函数 ...

最新文章

  1. javascript 实现图片切换,考虑平稳退化与行为结构分离
  2. Galaxy 生信平台(四):邮件与管理员配置
  3. IT市场10大技术伟人 Linux之父居首(转)
  4. 设计模式(Design Patterns)详解
  5. OpenCV学习——轮廓检测
  6. ie6,ie7,ie8 css bug兼容解决记录
  7. 如何设置Eclipse新建项目的默认编码方式
  8. python 计时器_谁能取代Python?我使用Go来部署机器学习模型的原因
  9. 等不到那人,回不到人间——dbGet(四)
  10. BootStrap学习(1)
  11. Pycharm community配置Django
  12. python字符串左_Python去除字符串左边指定字符
  13. Java 最常见的 200+ 面试题:面试必备 1
  14. Java性能优化的35个细节(珍藏版)
  15. 【深度学习中的数学】高维矩阵乘法规则
  16. AB测试的来源及适用场景
  17. 《惢客创业日记》2021.01.22(周五)英雄心,狗熊命?
  18. 【Linux】Ubuntu运行环境搭建
  19. 你觉得八部金刚功、八段锦、太极拳这种中国传统养生功法有效吗,请从科学与实践的角度详细阐述...
  20. Linux 下后台运行程序,查看和关闭后台运行程序

热门文章

  1. Kingfisher Carthage Usage
  2. 单片机简易计算机有程序,AT89C51单片机C实现简易计算器
  3. PAT 1032挖掘机技术哪家强的代码实现及改进思考(C语言)
  4. Android仿网易云音乐播放页面 背景虚化碟片效果
  5. 单片机ch2o程序_基于单片机的甲醛浓度检测仪的设计
  6. 计算机机房雷电防护措施,计算机机房的雷电防护措施.pdf
  7. [JZOJ 3395] Freda的传呼机
  8. SLAM之VeloyneLiDAR-VLP-16激光雷达从安装到地图创建
  9. Java ftp实现文件的上传和下载ftp,sftp sun.net.ftp.FtpProtocolException:Welcome message: SSH-2.0-OpenSSH_5.1
  10. leetcode 124 二叉树中的最大路径和 C语言