Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [U, ind] = Cholesky(A)
- eps = 1.0e-8
- n = size(A,1)
- U = zeros(n,n)
- for i = 1:n
- t = A(i,i) - U(1:i-1,i)'*U(1:i-1,i)
- if t <= eps
- mprintf("Matriz no definida positiva.\n")
- ind = 0
- return
- end
- U(i,i)= sqrt(t)
- for j = i+1:n
- U(i,j) = ( A(i,j) - U(1:i-1,i)'*U(1:i-1,j) )/U(i,i)
- end
- end
- ind = 1
- endfunction
- A = [16,-12,8,-16;-12,18,-6,9;8,-6,5,-10;-16,9,-10,46]
- X = [4,12,-16;12,37,-43;-16,-43,98]
- B = Cholesky(A); a = B' * B
- C = Cholesky(X); b = C' * C
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement