Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [x, iter] = ConjugateGradient(A, x_0, b)
- x = x_0
- r_old = b - A*x
- p = r_old
- epsilon = 10^-8*norm(r_old)
- N = [2^5, 2^6, 2^7, 2^8, 2^9, 2^10]
- it_num = 0
- while norm(r_old) > epsilon
- alph = (transpose(r_old)*r_old)/(transpose(p)*A*p)
- x = x + alph*p
- r_new = r_old - alph*A*p
- Beta = (transpose(r_new)*(r_new-r_old))/(transpose(r_old)*r_old)
- p = r_new + Beta*p
- r_old = r_new
- it_num = it_num + 1
- iter = it_num
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement