矩阵的Cholesky分解的Matlab实现
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/weixin_38451800/article/details/88933683
1.Cholesky分解在MATLAB里面有专门的函数chol(其调用格式为:R=chol(X))这一函数功能就不介绍了,但有些场合只能用最基础的函数,所以,下面给出Cholesky分解的最基础形式。
%Cholesky分解法function [X]=m_chol(A,b)
[N,N]=size(A);
X=zeros(N,1);
Y=zeros(N,1);
for i=1:N
A(i,i)=sqrt(A(i,i)-A(i,1:i-1)*A(i,1:i-1)');
if A(i,i)==0
'A is singular. no unique solution'
break
end
for j=i+1:N
A(j,i)=(A(j,i)-A(j,1:i-1)*A(i,1:i-1)')/A(i,i);
end
end
A
b
%前代法for j=1:N
Y(j)=(b(j)-A(j,1:j-1)*Y(1:j-1))/A(j,j);
end
Y
%
A=A'
for k=N:-1:1
X(k)=(Y(k)-A(k,k+1:N)*X(k+1:N))/A(k,k);
end
如果矩阵X是对称正定的,则Cholesky分解将矩阵X分解成一个下三角矩阵和上三角矩阵的乘积。设上三角矩阵为R,则下三角矩阵为其转置,即X=R’R。
另外,cholesky分解可能出现非正定问题, [R,p]=chol(X):这个命令格式将不输出出错信息。当X为对称正定的,则p=0,R与上述格式得到的结果相同;否则p为一个正整数。如果X为满秩矩阵,则R为一个阶数为q=p-1的上三角阵,且满足R’R=X(1:q,1:q)。 实现Cholesky分解后,线性方程组Ax=b变成R‘Rx=b,所以x=R(R’\b)。
2.下面给出两个博客讲解
(1)cholesky原理:https://blog.csdn.net/wangxiaojun911/article/details/7030964/
(2)C语言实现方式:https://blog.csdn.net/acdreamers/article/details/44656847
矩阵的Cholesky分解的Matlab实现相关推荐
- 矩阵的Cholesky分解
原文链接:矩阵的Cholesky分解 首先来复习线性代数中几个重要的概念. 1)如果一个复矩阵A = A*(共轭转置),则A称为Hermitian矩阵.(注意,矩阵A转置后仍为其本身,显然A一定是方阵 ...
- matlab qr分解作用,MATLAB论文_矩阵的QR分解及其MATLAB实现.doc
您所在位置:网站首页 > 海量文档  > 计算机 > matlab MATLAB论文_矩阵的QR分解及其MATLAB实 ...
- Matlab与线性代数--矩阵的Cholesky分解
本图文介绍了Matlab对正交矩阵的Cholesky分解操作.
- matlab将矩阵分解成lu,10行代码实现矩阵的LU分解(matlab)
最近由于数值分析实验课要求,需要通过matlab实现矩阵的LU分解.但是看了很多网友写的程序,基本上都是通过循环嵌套循环来实现矩阵的LU分解.略感琐碎,因此最近两天便一直在思考能否利用矩阵的乘v法,来 ...
- 对矩阵进行QR分解的Matlab代码
摘自Introduction to Linear Algebra by Gilbert Strang 结合课后习题进行分析 命名初值 n = 3; a = [2;2;-1]; b = [0;-3;3] ...
- Cholesky分解(Matlab代码实现)
- 三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用
写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用. 文章目录 直接Choles ...
- C++实现Cholesky分解
题目: 编制程序求解矩阵 A 的 Cholesky 分解,并用程序求解方程组 Ax=b,其中 代码实现: #include <iostream> #include <math.h&g ...
- matlab矩阵特征分解,用MATLAB实现矩阵分解
MATLAB求解线性方程的过程基于三种分解法则: (1)Cholesky分解,针对对称正定矩阵: (2)高斯消元法, 针对一般矩阵: (3)正交化, 针对一般矩阵(行数≠列数) 这三种分解 ...
最新文章
- 实现框架页面iframe的背景透明方法
- udp计算机dll,Udp_SocketBll.dll
- jQuery学习笔记--JqGrid相关操作 方法列表(上)
- 2018/06/30这段时间的随笔记忆:遇到概念模糊的js问题
- 循序渐进之Spring AOP(5) - 创建切面
- Python:matplotlib绘制条形图
- java debug详解_Java远程debug详解
- 上传文件与下载文件不一致的怪事
- 中兴服务器 raid,中兴LIS等直通阵列卡卡硬盘检测工具
- 3GP、MP4视频转换器下载
- 计算机一级报名照片是几寸的,一级建造师报名照片要几寸的
- 对接微信支付服务商后商户能得到哪些服务?
- java程序模拟QQ空间登录 - 并模拟刷说说的赞
- DongTai被动型IAST工具部署
- Ecshop系统二次开发教程及流程演示
- 没有网线接口的MacBook电脑怎么连接有线网络?USB外置网卡来帮忙
- Hadoop集群搭建(三)
- iPhone手机小技巧:使用备忘录创建清单
- SQL笔试题目分享(一)
- 电脑备份,电脑怎么备份系统?电脑备份系统的方法
热门文章
- 高级搜索题集(夏天的风分类)
- 使用yum安装wget时报出:Loaded plugins: fastestmirror No such command: instal. Please use /usr/bin/yum --help
- HE3050E原厂SOT23-5封装锂电池保护IC
- 医学图像标注终极指南
- 频域低通滤波器(数字图像处理与机器视觉P210-P220)
- 免费的英文文献的网站(收集整理)
- 最终一战柯洁再负AlphaGo,此后再无围棋人机大战
- 14、基于51单片机1602电流表检测设计(程序+原理图+Proteus仿真+参考论文+开题报告+任务书+元器件清单等)
- 评测3款高颜值的mobi阅读器(ios手机适用)
- 基于Aprion算法的电影推荐