共轭梯度法求解线性方程组
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
共轭梯度法求解线性方程组相关推荐
- 共轭梯度法求解线性方程组Ax=b(附代码)
共轭梯度法求解线性方程组:Ax=b 数值分析老师给的作业,写出来代码平时分满分.简单勿喷,hhhh 原理 CG求解线性方程组的原理大家翻一翻数值分析的课本即可,此处不哔哔直接上matlab代码 代码 ...
- Matlab求解线性方程组(一)共轭梯度法
一,算法原理 共轭梯度法可以看作是特殊的迭代法,有迭代法的格式,即首先给出x(0),再由迭代格式 x(k+1)=x(k)+αkd(k){{x}^{(k+1)}}={{x}^{(k)}}+{{\alp ...
- matlab 共轭,求解线性方程组 - 双共轭梯度法
通过为 bicg 提供用来计算 A*x 和 A'*x 的函数句柄(而非系数矩阵 A)来求解线性方程组. 创建一个非对称三对角矩阵.预览该矩阵. A = gallery('wilk',21) + dia ...
- MATLAB求解线性方程组的八种方法
MATLAB求解线性方程组的八种方法 求解线性方程分为两种方法–直接法和迭代法 常见的方法一共有8种 直接法 Gauss消去法 Cholesky分解法 迭代法 Jacobi迭代法 Gauss-Seid ...
- 微软公司内部培训程序员资料---求解线性方程组的类
/** 求解线性方程组的类 LEquations* * 周长发编制*/using System;namespace MSAlgorithm {public class LEquations{/// & ...
- 雅克比(Jacobi)迭代法求解线性方程组
长博文不利于翻阅,于是又将Jacobi迭代法单独出来了. 这篇博文把高斯-赛德尔迭代法和雅克比迭代法都放到一起了,个人觉得看着有点累.(迭代法求解线性方程组),不过还是要看的,因为它引出了迭代法. 进 ...
- 迭代法求解线性方程组的收敛问题总结
本讲之前,先将高斯-赛德尔迭代法和雅克比迭代法以及迭代法求解线性方程组贴出来,毕竟收敛问题研究的是迭代方法的收敛问题. 进入主题: 判断迭代法收敛的办法: 1.首先根据方程组的系数矩阵A的特点判断: ...
- Gauss-Seidel迭代求解线性方程组
高斯-赛德尔迭代法考试比较多,所以考虑再三,还是单独提取出来独立一篇,方便查阅,突出重点. 首先举例引入: 通过手动求解下面的线性方程组得到精确解: 再用高斯-赛德尔迭代法求解比较: 本人拙见,将每一 ...
- Guass列主元消去法求解线性方程组
上篇博文讲到:Guass消去法求解线性方程组,也提到了此方法求解线性方程组存在的问题,因此有如下: 基本思想: 看不懂没关系,直接看下面的例题,会有更直观的理解,然后再回到这里继续看. 选主元的步骤( ...
最新文章
- 《程序员书屋》微刊创建,赠书活动进行中!
- 避免HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常
- python3 pycharm 远程调试 启动报错 ValueError: source code string cannot contain null bytes
- linux常用shell命令面试,shell经典笔试题目总结
- JMS分布式应用程序异步消息解决方案EhCache 高速缓存同步问题
- expect工具使用
- cobbler介绍与部署
- eclipse快捷键、智能提示
- Python Pandas –操作
- mysql关联语句优化_MySql语句关联优化问题,为什么加了限制条件反而更慢?
- SSAS - 1.学习记录
- Cocos2d-x 3.0 开发(四)使用CocoStudio创建UI并载入到程序中
- 信创国产化的安全与运维
- ad17 linux 版本,Altium Designer这些不同版本的软件之间的区别有多大呢?
- 深响|对话THE9演唱会主创:技术打开想象力,未来的娱乐还能这么玩
- Android Unable to execute dex: method ID not in [0, 0xffff]: 65536 问题解决方法
- JSD-2204-连接查询-JDBC-Day10
- Android消息传递机制总结
- MySQL 第四章索引与完整性约束
- 动态规划之买瓜子—C说算法系列
热门文章
- iphone导出通讯录到安卓_科技资讯:iPhone苹果手机换新机如何将旧手机的通讯录导出到新的...
- java 圆的交点_java求两个圆相交坐标
- 编程实现算术表达式求值_用魔法打败魔法:C++模板元编程实现的scheme元循环求值器...
- [codevs 1237] 餐巾计划问题
- Visual Question Answering概述
- NOIP2016普及组复赛第一题的AC程序加题解pascal
- 【学习笔记】线段树的数组大小下限及证明
- python最小公倍数 菜鸟_最小公倍数 golang + python
- 2019-11-13 惯性环节怎么写成m语言
- uva437巴比伦塔