function [k,x]=Conjugate_gradient(A,b,x0,esp)

%% 参数说明% 采用共轭梯度算法求解线性方程组

% 输入参数% A为线性方程组系数矩阵

% b为线性方程组值矩阵

% x0为给定初值向量

% esp为终止误差

% 输出参数

% k为迭代次数

% x为线性方程组的解矩阵

%% 共轭梯度法主程序

n=size(A,1); % 定义维数

x=x0;

r=b-A*x; % 定义初始搜索方向

d=r;

for k=0:n-1

alpha=(r'*r)/(d'*A*d);

x=x+alpha*d;

r1=b-A*x;

if (norm(r1)<=esp | (k==n-1))

x;

break;

end

beta=norm(r1)^2/norm(r)^2;

d=r+beta*d;

end系数矩阵

% b为线性方程组值矩阵
% x0为给定初值向量
% esp为终止误差
% 输出参数
% k为迭代次数
% x为线性方程组的解矩阵
%% 共轭梯度法主程序
n=size(A,1);  % 定义维数
x=x0;
r=b-A*x;     % 定义初始搜索方向
d=r;
for k=0:n-1
    alpha=(r'*r)/(d'*A*d);
    x=x+alpha*d;
    r1=b-A*x;
    if (norm(r1)<=esp | (k==n-1))
        x;
        break;
    end 
        beta=norm(r1)^2/norm(r)^2;
        d=r+beta*d;
end

共轭梯度法求解线性方程组相关推荐

  1. 共轭梯度法求解线性方程组Ax=b(附代码)

    共轭梯度法求解线性方程组:Ax=b 数值分析老师给的作业,写出来代码平时分满分.简单勿喷,hhhh 原理 CG求解线性方程组的原理大家翻一翻数值分析的课本即可,此处不哔哔直接上matlab代码 代码 ...

  2. Matlab求解线性方程组(一)共轭梯度法

    一,算法原理  共轭梯度法可以看作是特殊的迭代法,有迭代法的格式,即首先给出x(0),再由迭代格式 x(k+1)=x(k)+αkd(k){{x}^{(k+1)}}={{x}^{(k)}}+{{\alp ...

  3. matlab 共轭,求解线性方程组 - 双共轭梯度法

    通过为 bicg 提供用来计算 A*x 和 A'*x 的函数句柄(而非系数矩阵 A)来求解线性方程组. 创建一个非对称三对角矩阵.预览该矩阵. A = gallery('wilk',21) + dia ...

  4. MATLAB求解线性方程组的八种方法

    MATLAB求解线性方程组的八种方法 求解线性方程分为两种方法–直接法和迭代法 常见的方法一共有8种 直接法 Gauss消去法 Cholesky分解法 迭代法 Jacobi迭代法 Gauss-Seid ...

  5. 微软公司内部培训程序员资料---求解线性方程组的类

    /** 求解线性方程组的类 LEquations* * 周长发编制*/using System;namespace MSAlgorithm {public class LEquations{/// & ...

  6. 雅克比(Jacobi)迭代法求解线性方程组

    长博文不利于翻阅,于是又将Jacobi迭代法单独出来了. 这篇博文把高斯-赛德尔迭代法和雅克比迭代法都放到一起了,个人觉得看着有点累.(迭代法求解线性方程组),不过还是要看的,因为它引出了迭代法. 进 ...

  7. 迭代法求解线性方程组的收敛问题总结

    本讲之前,先将高斯-赛德尔迭代法和雅克比迭代法以及迭代法求解线性方程组贴出来,毕竟收敛问题研究的是迭代方法的收敛问题. 进入主题: 判断迭代法收敛的办法: 1.首先根据方程组的系数矩阵A的特点判断: ...

  8. Gauss-Seidel迭代求解线性方程组

    高斯-赛德尔迭代法考试比较多,所以考虑再三,还是单独提取出来独立一篇,方便查阅,突出重点. 首先举例引入: 通过手动求解下面的线性方程组得到精确解: 再用高斯-赛德尔迭代法求解比较: 本人拙见,将每一 ...

  9. Guass列主元消去法求解线性方程组

    上篇博文讲到:Guass消去法求解线性方程组,也提到了此方法求解线性方程组存在的问题,因此有如下: 基本思想: 看不懂没关系,直接看下面的例题,会有更直观的理解,然后再回到这里继续看. 选主元的步骤( ...

最新文章

  1. 《程序员书屋》微刊创建,赠书活动进行中!
  2. 避免HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常
  3. python3 pycharm 远程调试 启动报错 ValueError: source code string cannot contain null bytes
  4. linux常用shell命令面试,shell经典笔试题目总结
  5. JMS分布式应用程序异步消息解决方案EhCache 高速缓存同步问题
  6. expect工具使用
  7. cobbler介绍与部署
  8. eclipse快捷键、智能提示
  9. Python Pandas –操作
  10. mysql关联语句优化_MySql语句关联优化问题,为什么加了限制条件反而更慢?
  11. SSAS - 1.学习记录
  12. Cocos2d-x 3.0 开发(四)使用CocoStudio创建UI并载入到程序中
  13. 信创国产化的安全与运维
  14. ad17 linux 版本,Altium Designer这些不同版本的软件之间的区别有多大呢?
  15. 深响|对话THE9演唱会主创:技术打开想象力,未来的娱乐还能这么玩
  16. Android Unable to execute dex: method ID not in [0, 0xffff]: 65536 问题解决方法
  17. JSD-2204-连接查询-JDBC-Day10
  18. Android消息传递机制总结
  19. MySQL 第四章索引与完整性约束
  20. 动态规划之买瓜子—C说算法系列

热门文章

  1. iphone导出通讯录到安卓_科技资讯:iPhone苹果手机换新机如何将旧手机的通讯录导出到新的...
  2. java 圆的交点_java求两个圆相交坐标
  3. 编程实现算术表达式求值_用魔法打败魔法:C++模板元编程实现的scheme元循环求值器...
  4. [codevs 1237] 餐巾计划问题
  5. Visual Question Answering概述
  6. NOIP2016普及组复赛第一题的AC程序加题解pascal
  7. 【学习笔记】线段树的数组大小下限及证明
  8. python最小公倍数 菜鸟_最小公倍数 golang + python
  9. 2019-11-13 惯性环节怎么写成m语言
  10. uva437巴比伦塔