编写一个Matlab函数文件,输入变量为一个n阶正定矩阵A,输出的结果为下三角矩阵L,满

编写一个Matlab函数文件,输入变量为一个n阶正定矩阵A,输出的结果为下三角矩阵L,满足A=LLT

已经有专门的函数了
B=chol(A)
上三角矩阵B和正定矩阵A满足关系A=B'B
所以你要的L就是B'
——————————————————————
我自己编了一个,你拿去用好了
function L=Cholesky(A)
n=length(A);
L=zeros(n);
for j=1:length(A)
L(j,j)=sqrt(A(j,j)-sum(L(j,1:j-1).^2));
for i=(j+1):n
L(i,j)=(A(i,j)-sum(L(i,1:j).*L(j,1:j)))/L(j,j);
end
end

其实以前计算方法的时候都教过,只不过忘了,现在直接网上找了算法现编
参考网站http://jwc.ycu.jx.cn/kcjs/szjs/text/chap6/section3/03.htm
温馨提示:答案为网友推荐,仅供参考
相似回答