matlab里面建立一个函数文件test,对这个函数传递的是一个矩阵A,可以直接用n=test(A)不?

运行出错啊,怎么弄啊

第1个回答  2011-05-13
可以,只要你对A的操作是正确的,运行出错,那要看你代码怎么写了
第2个回答  2011-05-14
已经有专门的函数了
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

其实以前计算方法的时候都教过,只不过忘了,现在直接网上找了算法现编
参考网站
本回答被提问者和网友采纳
相似回答