首页 > 其他分享 >线性代数 · 矩阵 · Matlab | Cholesky 分解代码实现

线性代数 · 矩阵 · Matlab | Cholesky 分解代码实现

时间:2023-11-01 14:37:15浏览次数:28  
标签:Cholesky 代码 矩阵 分解 Matlab 线性代数 end matlab


(搬运外网的代码,非原创;原网址

(其实是专业课作业,但感觉国内博客没有合适的代码实现,所以就搬运到自己博客了)


背景 - Cholesky 分解:

  • 若 A 为 n 阶实对称正定矩阵,则存在非奇异下三角矩阵 L,使得 A = LL^T。
    • 是特殊的 LU 分解(下三角 上三角分解)。
    • 若限定 L 的对角元素为正,则这种分解是唯一的。
    • 计算 L 的方法:待定系数,硬算(貌似是这样的)。

Cholesky 分解法的 matlab 函数代码:

% Cholesky 分解法
function [retval] = cholesky_decompose(A)
n = length(A);
L = zeros(n,n);
for i=1:n
   L(i,i) = sqrt(A(i,i)-L(i,:)*L(i,:)');
   for j=(i+1):n
      L(j,i) = (A(j,i)-L(i,:)*L(j,:)')/L(i,i);
   end
end
retval = L';
end

matlab 脚本代码:

X = rand(3,3)
A = X*X'

L1 = cholesky_decompose(A)
L2 = chol(A)

运行结果:

octave:5> source("my_script.m")
X =

   0.010982   0.924195   0.472230
   0.749800   0.704545   0.495176
   0.480342   0.828100   0.611450

A =

   1.0773   0.8932   1.0593
   0.8932   1.3038   1.2464
   1.0593   1.2464   1.2903

L1 =

   1.0379   0.8606   1.0207
        0   0.7505   0.4904
        0        0   0.0902

L2 =

   1.0379   0.8606   1.0207
        0   0.7505   0.4904
        0        0   0.0902

与 matlab 的 chol 函数结果一致。



标签:Cholesky,代码,矩阵,分解,Matlab,线性代数,end,matlab
From: https://www.cnblogs.com/moonout/p/17803030.html

相关文章

  • WOA-CNN基于鲸鱼算法优化卷积神经网络的多变量回归预测 可直接运行 注释清晰适合新手
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 基于GRU门控循环网络的时间序列预测matlab仿真,对比LSTM网络
    1.算法运行效果图预览 LSTM:    GRU    2.算法运行软件版本matlab2022a 3.算法理论概述       门控循环单元(GatedRecurrentUnit,简称GRU)是一种用于序列建模和预测的递归神经网络(RNN)变体。GRU通过引入门控机制,克服了传统RNN在处理长序列时......
  • 基于Googlenet深度学习网络的矿物质种类识别matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述       VGG在2014年由牛津大学著名研究组vGG(VisualGeometryGroup)提出,斩获该年lmageNet竞赛中LocalizationTask(定位任务)第一名和ClassificationTask(分类任务)第二名。Clas......
  • 【智能优化算法】开普勒优化算法KOA附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 基于CNN卷积神经网络的目标识别matlab仿真,数据库采用cifar-10
    1.算法运行效果图预览   2.算法运行软件版本MATLAB2022a 3.算法理论概述     CNN是一种专门用于图像处理的神经网络架构,其核心是卷积层、池化层和全连接层。CNN利用卷积操作和池化操作来自动学习图像中的特征,然后通过全连接层将这些特征映射到不同类别的标签......
  • 基于CNN卷积神经网络的口罩检测识别系统matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述       新型冠状病毒可以通过呼吸道飞沫等方式传播,正确佩戴口罩可以有效切断新冠肺炎病毒的传播途径,是预防感染的有效措施。国内公众场合要求佩戴口罩。而商场、餐饮、地铁等人员密集......
  • DSPLearning_day02--卷积、互相关和差分方程求解的matlab实现
    卷积实现\[y(n)=x(n)*h(n)\\y(n)=\sum_{m=-\infin}^{\infin}x(m)h(n-m)\]%确定第一个序列的x轴和y轴坐标nx=[0:1];x=[12];%确定第二个序列的x轴和y轴坐标nh=[0:2];h=[321];%conv是matlab自带的对两个序列进行卷积的函数y=conv(x,h);%注意配好......
  • DSPLearning_dayONE___________matlab实现DTFT里面的一些常用函数以及基本运算
    DSPmatlab实现\(\delta(n)\)的实现%matlab中坐标轴的横坐标和纵坐标是分开表示的n=-10:20;%横坐标的显示范围这个是确定了x轴的坐标范围delta=[zeros(1,10)1zeros(1,20)];%zeros(m,n)产生一个mxn的全零矩阵这个是每个x轴对应的y轴的值stem(n,delta);gridon......
  • math---线性代数の本质
    一、线性空间你有多个向量并且可以移除一个而不减小张成空间时,称为线性相关在二维空间上,随便找两个向量(前提是不共线),则他俩可以张成整个平面在三维空间,任意三个向量同理二、矩阵线性变换与矩阵相乘1、旋转ai+bj,其中\(a^2+b^2=1\)2、剪切/错切变换i帽不变,j帽......
  • 基于Googlenet深度学习网络的信号调制类型识别matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本MATLAB2022a 3.算法理论概述      信号调制类型识别是在无线通信和无线电频谱监测中的一个重要任务。不同信号调制类型具有不同的频谱特征,深度学习方法在信号调制类型识别中取得了显著的成果。 3.1深度学习与......