使用matlab实现Jacobi迭代法与Gauss-Seidel迭代法求解线性方程组_高斯赛德尔迭代法解矩阵方程matlab-程序员宅基地

技术标签: matlab  算法  线性代数  数据挖掘技术  

jacobi.m

function [y,n]=jacobi(A,b,x0,ep) %A:系数矩阵;b:常数矩阵;x0:迭代初值;ep:迭代精度;
D=diag(diag(A));	%取A的主对角线上的元素建立对角矩阵;
L=-tril(A,-1);		%取A的主对角线以下(不包括主对角线)的元素建立下三角矩阵;
U=-triu(A,1);		%取A的主对角线以上(不包括主对角线)的元素建立上三角矩阵;
B=D\(L+U);
f=D\b;
y=B*x0+f;
n=1;
while norm(y-x0)>=ep	%用范数判断误差是否满足精度要求
    x0=y;
    y=B*x0+f;
    n=n+1;
end
%fprintf('%d\n',n);

gauseidel.m

function [y,n]=gauseidel(A,b,x0,ep)     %A:系数矩阵;b:常数矩阵;x0:迭代初值;ep:迭代精度;
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
B=(D-L)\U;
f=(D-L)\b;
y=B*x0+f;
n=1;
while norm(y-x0)>=ep	%用范数判断误差是否满足精度要求
    x0=y;
    y=B*x0+f;
    n=n+1;
end

main.m

clear
clc
%A为线性方程组的系数矩阵
A = [4,-1,0,-1,0,0;
    -1,4,-1,0,-1,0;
    0,-1,4,-1,0,-1;
    -1,0,-1,4,-1,0;
    0,-1,0,-1,4,-1;
    0,0,-1,0,-1,4];
%b为常数项
b = [0,5,-2,5,-2,6]';
%x0为迭代初始值
x0 = [0,0,0,0,0,0]';
%N为迭代次数
 
[x,n] = jacobi(A,b,x0,1.0e-6)
[x1,n1] = gauseidel(A,b,x0,1.0e-6)

实验结果
使用matlab实现Jacobi迭代法与Gauss-Seidel迭代法求解线性方程组

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/emdog/article/details/120399903

智能推荐

Dynamics 365 Fo 开发环境无法用IE之外的浏览器访问_dynamic365 fo-程序员宅基地

文章浏览阅读181次。开发环境无法用IE之外的浏览器访问_dynamic365 fo

mybatis 之 if test 条件,参数为0时,查询条件未输出_if [ $# == 0 ]-程序员宅基地

文章浏览阅读3.1k次。mybatis 之 if test 条件,参数为0时,查询条件未输出_if [ $# == 0 ]

公司软件开发人员绩效评价标准_前端绩效评定-程序员宅基地

文章浏览阅读1.6k次。公司软件开发人员绩效评价标准摘自网络 总则: 通过量化的指标准确的评定软件开发人员的绩效,从而对薪酬分配提供可靠的依据。 基本说明: 绩效评价,包括业绩考核和能力评定。对软件开发人员的绩效评定,每一项问答表现优秀加一分,表现不佳扣一分,表现平平不得分,最后计算总分。 业绩考核: 此项考核主要考核在一定时间内软件开发人员的任务完成情况_前端绩效评定

CentOS 8.2安装-解决Error setting up base repository_error setup base repo-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏5次。安装CentOS 8.2准备工作下载系统镜像制作U盘启动盘CentOS 8出来了也有一段时间,秉承着用新不用旧的原则,把电脑上原先的CentOS 7.6 换成了CentOS 8.2。拆掉了原先装系统盘,装了一块新的250G的Samsung 850EVO。准备安装CentOS 8.2。准备工作下载系统镜像CentOS官方网站上并不提供直接下载,需要从镜像站下载。可以直接下载,也可以使用迅雷等。对于校内计流量用户,可以使用uTorrent使用ipv6,从其他高校的镜像(上海交大镜像站)站进行下载,从而避_error setup base repo

python基础IDE之Pycharm_pycharm ide 格式-程序员宅基地

文章浏览阅读411次。1. Python Pycharm 下载/安装官方网址:https://www.jetbrains.com/pycharm/download/#section=windows安装:下载保存文件,运行,下一步,下一步2. 新建工程3. 新建并运行python文件4. IDE配置-窗口主题>>> 进入 file > Settin..._pycharm ide 格式

微信开发“TOKEN验证失败”根源和解决方法_微信开发者token验证失败-程序员宅基地

文章浏览阅读3.3w次,点赞5次,收藏9次。引子微信公众号开启开发者模式时,需要配置“服务器配置”,但在配置这个东西时有很多坑需要注意。网上解决的问题这里就不再赘述,下面说的是我碰到的问题,同时也叙述了“TOKEN验证失败”的根源问题。背景 之前,我的公众号一直正常工作,但由于需要更换服务器,就把网站做了迁移,数据也迁移的,但是在修改服务器配置时,始终提示“TOKEN验证失败”。 于是艰难的排查之路开始了。 我的后台是PHP的,于是我在入口..._微信开发者token验证失败

随便推点

18.图像处理之线性滤波(空间域/高低频/方框/均值/高斯) --- OpenCV从零开始到图像(人脸 + 物体)识别系列_高斯平滑模板频域分析-程序员宅基地

文章浏览阅读1.1k次。18.图像处理之线性滤波(空间域/高低频/方框/均值/高斯) — OpenCV从零开始到图像(人脸 + 物体)识别系列本文作者:小嗷 微信公众号:aoxiaoji吹比QQ群:736854977简书链接:https://www.jianshu.com/u/45da1fbce7d0 平滑处理也称模糊处理,最常见的是用来减少图像上的噪点或者失真。在涉及到降低图像分..._高斯平滑模板频域分析

YOLOv1详解_yolov1论文下载-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏5次。YOLO(You only look once)你只需要看一次,提出了一种新的one stage类型的检测器,正如名字所说的那样,一步到位,直接预测出目标类别和位置。不同于之前的检测器,YOLO将目标检测视作回归问题,整个检测网络是单一的神经网络,输入是图像,输出直接给出目标类别和位置,不需要给出目标的区域建议再进行复杂的后处理。......_yolov1论文下载

6大人工智能应用关键技术,终于有人讲明白了-程序员宅基地

文章浏览阅读8.5k次,点赞3次,收藏39次。导读:我国《人工智能标准化白皮书(2018年)》中也给出了人工智能的定义:“人工智能是利用数字计算机或者由数字计算机控制的机器,模拟、延伸和扩展人类的智能,感知环境、获取知识并使用知识获..._人工智能ai关键技术

js实现下载excel_exceljs.workbook()-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏7次。excel是常见的表格处理工具,那么前端怎么实现excel生成与下载呢?我们利用xlsx.js来实现一. 安装js-xlsxnpm install xlsx二. 文档简介完成的XLSX对象:需要理解的术语:1 workbook是xlsx读取excel内容后的js对象,读取到内容后可以对表格进行操作;同样的也可以创建一个空的workbook,往其中写入内容完整的workbook对象..._exceljs.workbook()

php 启动workman,workerman如何启动-程序员宅基地

文章浏览阅读1.5k次。Workerman启动停止等命令都是在命令行中完成的。要启动Workerman,首先需要有一个启动入口文件,里面定义了服务监听的端口及协议。Workerman启动的方法:以debug(调试)方式启动php start.php start以daemon(守护进程)方式启动php start.php start -ddebug和daemon方式区别:1、以debug方式启动,代码中echo、var_d..._workman 启动

wperl与perl-程序员宅基地

文章浏览阅读174次。以前在xp下,可以用wperl运行"*.pl"的文件,而不现实一个dos窗口,但在vista中不行了,需要更改文件的扩展名为"wpl",才能通过wperl运行,否则只能以perl运行。[@more@]以前在xp下,可以用wper..._wperl是什么文件

推荐文章

热门文章

相关标签