matlab里面建立一个函数文件test,对这个函数传递的是一个矩阵A,可以直接用n=test(A)不?
发布网友
发布时间:2022-05-01 10:16
我来回答
共2个回答
热心网友
时间:2023-10-08 20:49
可以,只要你对A的操作是正确的,运行出错,那要看你代码怎么写了
热心网友
时间:2023-10-08 20:49
已经有专门的函数了
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
其实以前计算方法的时候都教过,只不过忘了,现在直接网上找了算法现编
参考网站