cholesky分解的matlab程序
时间: 2023-11-06 20:05:59 浏览: 167
基于MATLAB的Cholesky分解
以下是使用 MATLAB 实现 Cholesky 分解的程序:
```matlab
function L = Cholesky(A)
% 检查矩阵是否为正定矩阵
if ~isequal(A, A')
error('输入矩阵不是对称矩阵')
end
if any(eig(A) <= 0)
error('输入矩阵不是正定矩阵')
end
% 初始化 L 矩阵
n = size(A, 1);
L = zeros(n);
% 进行 Cholesky 分解
for j = 1:n
L(j,j) = sqrt(A(j,j) - L(j,:)*L(j,:)');
for i = j+1:n
L(i,j) = (A(i,j) - L(i,:)*L(j,:)') / L(j,j);
end
end
end
```
该函数接受一个输入矩阵 A,返回一个下三角矩阵 L,满足 L*L' = A。如果输入矩阵不是对称正定矩阵,则会抛出错误。
阅读全文