LDLDECOM.M
上传用户:sfyaiting
上传日期:2009-10-25
资源大小:320k
文件大小:1k
源码类别:

GPS编程

开发平台:

Matlab

  1. function [L,D] = ldldecom(Q)
  2. %LDLDECOM: Find LtDL-decompostion of Q-matrix
  3. %
  4. % This routine finds the LtDL decomposition of a given variance/
  5. % covariance matrix.
  6. %
  7. % Input arguments:
  8. %    Q: Symmetric n by n matrix to be factored
  9. %
  10. % Output arguments:
  11. %    L: Out - n by n factor matrix (strict lower triangular)
  12. %    D: Out - Diagonal n-vector
  13. % ----------------------------------------------------------------------
  14. % File.....: ldldecom
  15. % Date.....: 19-MAY-1999
  16. % Author...: Peter Joosten
  17. %            Mathematical Geodesy and Positioning
  18. %            Delft University of Technology
  19. % ----------------------------------------------------------------------
  20. n = size (Q,1);
  21. for i = n:-1:1;
  22.    D(i) = Q(i,i);
  23.    L(i,1:i) = Q(i,1:i)/sqrt(Q(i,i));
  24.    
  25.    for j = 1:i-1
  26.       Q(j,1:j) = Q(j,1:j)-L(i,1:j)*L(i,j);
  27.    end
  28.    
  29.    L(i,1:i) = L(i,1:i)/L(i,i);
  30. end;
  31. %if (sum(D < 1E-10));
  32. %  error ('Matrix on input is not positive definite!');
  33. %end;
  34. % ----------------------------------------------------------------------
  35. % End of routine: ldldecom
  36. % ----------------------------------------------------------------------