共轭梯度法(conjugate gradient method)
2015-07-25 16:43
120 查看
该方法是快速求解Ax=b线性系统的方法,他要求矩阵A是对称正定矩阵。
算法执行过程:
matlab实现:
算法执行过程:
matlab实现:
clear;%删除工作空间的所有变量,释放系统内存 clc;%清楚命名窗口 A=[4 1;1 3]; b=[1,2]'; N=length(b); %解向量的维数 fprintf('库函数计算结果:'); x=inv(A)*b %库函数计算结果 x=[2;1]; %初始点 eps=0.0000001; %精度 r=b-A*x; p=r; for k=0:N-1 fprintf('第%d次迭代:',k+1); a=(norm(r)^2)/(p'*A*p) x=x+a*p rr =r-a*A*p; %rr=r(k+1),它和b-A*x等价 if (norm(rr)<=eps)||(k==N-1) break; end B=(norm(rr)^2)/(norm(r)^2); p=rr+B*p; r=rr; end
相关文章推荐
- 广告过滤算法实现及优化
- CoreData入门例子
- Java多线程(二)、线程的生命周期和状态控制
- HDOJ-3949 XOR(高斯消元)
- [2015.07.27]万峰图片批量处理专家 v8.6
- ios入门之c语言篇——基本函数——2——判断闰年
- JavaScript中指针和地址理解
- .h .m切换
- UVa673 Parentheses Balance
- CF Gym 100637J Superfactorial numeral system (构造)
- CF Gym 100637K Microcircuits (DP)
- CF Gym 100637G \#TheDress (水)
- CF Gym 100637F The Pool for Lucky Ones
- CF Gym 100637B Lunch(拆分子问题)
- ios入门之c语言篇——基本函数——1——随机数生成
- Java练习题(三)
- iOS js交互(OC)
- hihoCoder - 1066 - 无间道之并查集
- CF Gym 100637A Nano alarm-clocks
- go-并发与并行