Positive definite solution
이전 댓글 표시
i need to solved for different values of gama until its lowest value, which gives a positive definite solution for P is found, so i am using all(eig(P)>0) like the equation below:
is this right?
gama=100000;
for i=1:2000;
P = inv(inv(P)+M'*inv(R)*M-gama^(-2)*eye(4));
E=eig(P_cov);
if all(eig(P))>0) %%(all eigenvalues must be positive)
gama=gama/2;
else
break;
end
end
P = inv(inv(P)+M'*inv(R)*M-gama^(-2)*eye(4));
is this correct?
채택된 답변
추가 답변 (1개)
Sean de Wolski
2011년 11월 23일
1 개 추천
Use a second variable and only update it if the eigenvalues are all positive. When you exit the loop it will be the last set of all positive eigenvalues.
카테고리
도움말 센터 및 File Exchange에서 Linear Algebra에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!