conjgrad.m

来自「Matlab语言常用算法程序集.rar 里面有很多有用的Matlab数值运」· M 代码 · 共 29 行

M
29
字号
function [x,n]=conjgrad(A,b,x0)if(nargin == 3)    eps = 1.0e-6;endr1  = b-A*x0;p1  = r1;d   = dot(r1,r1)/dot(p1,A*p1);x   = x0+d*p1;r2  = r1-d*A*p1;f   = dot(r2,r2)/dot(r1,r1);p2  = r2+f*p1;n   = 1;for(i=1:(rank(A)-1))    x0 = x;    p1 = p2;    r1 = r2;    d  = dot(r1,r1)/dot(p1,A*p1);    x  = x0+d*p1;    r2 = r1-d*A*p1;    f  = dot(r2,r2)/dot(r1,r1);    p2 = r2+f*p1;    n  = n + 1;endd  = dot(r2,r2)/dot(p2,A*p2);x  = x+d*p2;n  = n + 1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?