共轭梯度法属于求解线性方程组的一种迭代法,其计算速度不算很快,但是在一些复杂的问题下,也有比较好的下效果,因为科研需要,根据理论编写了一下共轭梯度法的程序,特此分享:

1、原理步骤如下:

2、 编程的流程如下:

3、程序如下:

function [x] = CG_solver(A,b,x0,kmax)
%使用共轭梯度法求解 A · X = b线性方程组
% A方程组系数矩阵 b系数项 X0是迭代的初值(0向量就可以) kmax最多迭代次数
%   wrote by Han JIale in 2022.07.04
xk=x0;
%附上初值
r0=b-A*xk;
k=0;
rk=r0;
rk_1=rk;
rk_2=rk_1;
pk_1=r0;while sqrt(sum(rk.^2))>=10^(-5) && (k<kmax) %停机准则,可以修改k=k+1;rk_2=rk_1;rk_1=rk;pk_2=pk_1;xk_1=xk;if k==1pk_1=r0;elsebetek_2=(rk_1'*rk_1)/(rk_2'*rk_2);pk_1=rk_1+betek_2*pk_2;endalphak_1=(rk_1'*rk_1)/(pk_1'*A*pk_1);xk=xk_1+alphak_1*pk_1;rk=rk-alphak_1*A*pk_1;end
x=xk;
end

matlab的共轭梯度法相关推荐

  1. 用matlab实现共轭梯度法求解实例,用MATLAB实现共轭梯度法求解实例

    用MATLAB 实现共轭梯度法求解实例 康福 201103710031 一.无约束优化方法 1.1 无约束优化方法的必要性 一般机械优化设计问题,都是在一定的限制条件下追求某一指标为最小,它们都属于约 ...

  2. 用matlab实现共轭梯度法求解实例,用MATLAB实现共轭梯度法求解实例.doc

    实用标准文案 精彩文档 用MATLAB实现共轭梯度法求解实例 康福 201103710031 无约束优化方法 1.1 无约束优化方法的必要性 一般机械优化设计问题,都是在一定的限制条件下追求某一指标为 ...

  3. 共轭梯度法matlab实验报告,用matlab实现共轭梯度法求解实例.doc

    用matlab实现共轭梯度法求解实例.doc 用MATLAB 实现共轭梯度法求解实例 康福 201103710031 1.无约束优化方法 1.1 无约束优化方法的必要性 一般机械优化设计问题,都是在一 ...

  4. matlab 截断共轭梯度法,最优化作业 共轭梯度法 matlab代码

    syms f x1 x2 f=(1/2)*x1^2+x2^2; x=[2;1]; a=[1 0;0 2];% A g1=diff(f,x1); g2=diff(f,x2); g=[g1;g2];%导数 ...

  5. matlab 狄利克雷函数图像,Poisson image editing算法实现的Matlab代码解析

    之前我发了数篇系列博文来仔细研究Poisson Image Editing算法,每次重新审视和深入,仿佛都能有更为深刻的认识和很大的收获.这应该算是我这个系列的完结篇,会用用Matlab代码一点一点的 ...

  6. 你一定不知道的蜜月海岛-苏梅岛

    蜜月圣地 提到泰国最浪漫的蜜月之岛,那一定非苏梅岛莫属.虽是泰国的第三大岛,但苏梅岛被开发得很晚,相对南部普吉岛来说,这里保留了更多自然淳朴的气息,尤其是绵密细软的白沙滩.傍晚的椰林树影.奢华舒适的临 ...

  7. 共轭梯度下降法matlab,用matlab实现最速下降法,牛顿法和共轭梯度法求解实例

    用matlab实现最速下降法,牛顿法和共轭梯度法求解实例 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验的题目和要求 1.所属 ...

  8. 利用 MATLAB 编程实现共轭梯度法求解无约束最优化问题

    本文章包含以下内容 1.FR 共轭梯度法的算法流程图: 2.MATLAB 编写 FR 共轭梯度法求解无约束优化问题的函数,要求采用 黄金分割法精确一维搜索,用数值微分法计算梯度(函数式 M 文件,精度 ...

  9. 用共轭梯度法求极小值matlab,用MATLAB实现最速下降法_牛顿法和共轭梯度法求解实例——张小强.doc...

    机电产品优化设计 课程设计报告 姓 名 :张 小 强 学 号 :201222080633 学 院 :机械电子工程学院 实验的题目和要求 一.课程名称:最优化设计方法 二.实验日期:2013年6月27日 ...

  10. matlab共轭梯度法_优化算法之牛顿法

    牛顿法(Newton's method)是一种在实数域和复数域上近似求解方程的方法,,它使用函数f(x)的泰勒级数的前面几项来寻找方程f(y)=0的根. 牛顿法最初由艾萨克·牛顿在<Method ...

最新文章

  1. 如何调出matlab的debug按键
  2. Nagios安装与配置
  3. php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决
  4. 一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
  5. 二、bootstrap table 父子表和行列调序
  6. 正在使用的项目,项目名那里出现了红色感叹号?怎么去除?
  7. 一款非常牛逼的 Java 爬虫框架!(请低调使用)
  8. ENVI学习总结(十五)——遥感影像分类与应用
  9. 在AspNetCore中json序列化日期格式自定义
  10. 《我和PIC单片机:基于PIC18》——2.2 MPLAB IDE集成开发环境
  11. 福师《计算机应用基础》在线作业三,福师《计算机应用基础》在线作业一 电子计算机主要以划分发展阶段.docx-得力文库...
  12. 硬件只要一块esp8266 nodemcu板+几根杜邦线实现远程PC开机,软件全开源(替代智能开关)
  13. 产品经理面试必问5大问题 (六)
  14. cad转excel插件c2e_cad表格转换器2016
  15. TLC固态硬盘暴力读写寿命测试
  16. 秉持技术普惠的华为,致力于无处不在的联接
  17. Power BI中的ArcGIS地图
  18. String.contains()方法
  19. QT 中“ std::cerr ”的使用方法
  20. Bootstrap-maxlength使用

热门文章

  1. 人口预测模型及matlab代码
  2. 一次使用针式打印机打印异常问题的处理
  3. 常用的API函数汇总
  4. 百度(高德、GG歌)离线地图开发环境搭建【离线地图开发源代码】
  5. 用友NC报表行数能否配置
  6. zhihu spark集群,书籍,论文
  7. WIN7 X64完美卸载SQL2008 R2并重装SQL2008
  8. 2021 9.14 p.m.小结 以及 数独问题探索(T3)
  9. taro Button按钮组件
  10. wow服务器文件夹,《60级魔兽世界WTFWDB文件夹全解析 by Qcat》