Matlab 矩阵论 矩阵分解的计算实现(六)矩阵的正交三角分解

本来matlab中自带了做正交三角分解的函数,[U,R]=qr(A),U R为分解结果。但是这样使用只会有结果没有中间过程,所以写了一个施密特正交化函数,可以显示中间做题的过程。
这个函数没法计算有复数的矩阵,如果计算复数直接调用qr()函数即可。

代码

%矩阵的正交三角分解(UR分解)
%获得的beta1 要检查可能不对
A=[1 2 0;1 0 -1; 0 1 -1];
disp("原始矩阵")
disp(sym(A));
%采用列正交化
U= schmidt(sym(A));
disp("施密特正交化得矩阵U")
disp(sym(U))
R = U^-1 *A;
disp("矩阵R = U^-1 *A")
disp(sym(R))
%如果矩阵带复数 就用下面方法计算
% [U,R]=qr(A);
% disp("矩阵U")
% disp(U);
% disp("矩阵R")
% disp(R);
% 以下是函数块
function answer=schmidt(matrixIn,transpose)
% 默认取矩阵列向量为待正交化向量,
% 如 A=[1,-1,4;2,3,-1;-1,1,0]
% 则待正交化向量为 [-1,2,1], [-1,3,1], [4,-1,0]
% 函数调用方式为 schmidt(A)
if nargin>1% 如果要求取矩阵行向量为待正交化向量% 函数调用方式为 schmidt(A,1)% 但是注意: 得到的结果矩阵仍然是列向量为正交化之后的向量if transpose==1matrixIn=matrixIn';end
end
answer=zeros(size(matrixIn));
answer(:,1)=matrixIn(:,1);
disp("β1");
disp(sym(answer(:,1)))
if size(matrixIn,2)>1for column=1:size(matrixIn,2)%正交化for beta=1:column-1answer(:,column)=answer(:,column)-dot(matrixIn(:,column),answer(:,beta))/dot(answer(:,beta),answer(:,beta))*answer(:,beta);endanswer(:,column)=answer(:,column)+matrixIn(:,column);if column>=2disp("β"+column);disp(sym(answer(:,column)));end%单位化answer(:,column)=answer(:,column)/sqrt(sum(answer(:,column).^2));disp("ε"+column);disp(sym(answer(:,column)))end
end
end

运行结果

源码

Matlab 矩阵论 矩阵分解的计算实现(六)矩阵的正交三角分解相关推荐

  1. 用MATLAB实现plu分解,编制计算给定矩阵 A 的 LU 分解和 PLU 分解的通用程序

    用VB编写一个程序,计算出给定的10*10矩阵(存放在二维数组A中)每行元素的最大值和每列元素的最小值 ModuleModule1SubMain()DimA(,)AsInteger={{1,2,3,4 ...

  2. 基本矩阵 双目 matlab,MATLAB双目标定与OpenCV计算矫正参数矩阵

    Intrinsic parameters of left camera: Focal Length: fc_left = [ 320.53138 321.62046 ] ?[ 1.32444 1.28 ...

  3. 交替最小二乘矩阵分解_使用交替最小二乘矩阵分解与pyspark建立推荐系统

    交替最小二乘矩阵分解 pyspark上的动手推荐系统 (Hands-on recommender system on pyspark) Recommender System is an informa ...

  4. 【矩阵论】2. 矩阵分解——SVD

    矩阵论 1. 准备知识--复数域上矩阵,Hermite变换) 1.准备知识--复数域上的内积域正交阵 1.准备知识--Hermite阵,二次型,矩阵合同,正定阵,幂0阵,幂等阵,矩阵的秩 2. 矩阵分 ...

  5. 【矩阵论】2. 矩阵分解——QR分解

    矩阵论 1. 准备知识--复数域上矩阵,Hermite变换) 1.准备知识--复数域上的内积域正交阵 1.准备知识--Hermite阵,二次型,矩阵合同,正定阵,幂0阵,幂等阵,矩阵的秩 2. 矩阵分 ...

  6. mf模型 svd++_算法小板报(六)——初探MF(矩阵分解)和FM模型

    一.简介 矩阵分解(Matrix Factorization,MF)是推荐系统中非常经典的一个算法,虽然现今工业界直接使用的较少,但其背后蕴含的编码降维思想,得以广泛应用于推荐领域之中.本文则主要来梳 ...

  7. matlab lud矩阵分解,MIT线性代数总结笔记——LU分解

    MIT线性代数总结笔记--LU分解 矩阵分解 矩阵分解(Matrix Factorizations)就是将一个矩阵用两个以上的矩阵相乘的等式来表达.而矩阵乘法涉及到数据的合成(即将两个或多个线性变换的 ...

  8. 【机器学习的数学基础】(六)矩阵分解(Matrix Decomposition)(上)

    文章目录 4 矩阵分解(Matrix Decompositions)(上) 4.1 行列式与迹 4.2 特征值和特征向量 4 矩阵分解(Matrix Decompositions)(上) 在第2章和第 ...

  9. 矩阵分析与计算学习记录-矩阵分解

    本章重点内容: 满秩分解:存在性.方法 三角分解:Doolittle分解.两种求解方法.cholesky分解 QR分解:定义.Householder变换.Givens变换.Schmidt正交化方法求Q ...

最新文章

  1. html需要顺序阅读吗,前端知识:HTML5所有的标签-按顺序排列 | 前端面试题
  2. Word画线条5大技巧,简单实用!
  3. 深度学习搞docker真的搞的我心态炸裂
  4. 直播马上开始│走进腾讯云物联网
  5. C#线程的使用和测试
  6. 单元测试中使用Mockito模拟对象
  7. 事务隔离级别和传播行为_Spring五个事务隔离级别和七个事务传播行为
  8. 硅谷渐患“大城市”病,世界创新中心或将外移
  9. redis使用lua脚本
  10. 获取Dell,Lenovo电脑的保修期
  11. 计算机音乐按键有声音,计算器上的声音键是哪个键
  12. 可能是最漂亮的Spring事务管理详解
  13. python 协程 asyncio_Python 原生协程------asyncio(选自公众号)
  14. Blast中文手册(6)
  15. 综合布线系统工程中计算机插座的标识符号是,TD是综合布线系统工程中计算机插座的标识符号。...
  16. 10198_基于SSM的电影票预订系统
  17. 算法与数据结构1800题 之栈和队列 (一)
  18. 人工智能之配置环境教程二:在Anaconda中创建虚拟环境并在VsCode中使用
  19. 基于AWS 平台跳板机配置
  20. STM32外扩SRAM芯片IS62wv51216兼容替换

热门文章

  1. 微信小程序开发的四种文件
  2. 电脑视频压缩怎么压缩最小
  3. 假设有100个瓶子,其中只有1瓶有毒药,你现在有7只老鼠,怎么检测出那一瓶是由毒的(老鼠喝到有毒的就会死)
  4. 用python生成M序列
  5. 初始java ~ 逻辑控制
  6. nRF51822定时器设置
  7. php-fpm error 慢执行,php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
  8. MVP Open Day- 微软社区大课堂招募学生啦
  9. Zookeeper 简介
  10. 神经网络有哪些基本功能,常见的神经网络有哪些