import numpy as np
def sor(A,b,w,x0,limit):#xor迭代n=A.shape[1]D=np.zeros((n,n))
#     print(A)for i in range(n):D[i][i]=A[i][i]L=np.zeros((n,n))for i in range(n):for j in range(i):L[i][j]=-A[i][j]U=np.zeros((n,n))for i in range(n):for j in range(i+1,n):U[i][j]=-A[i][j]
#     print(D,L,U)print("开始求BS")BS=np.linalg.inv(D-w*L)f=np.matmul(BS,w*b)BS=np.matmul(BS,(1-w)*D+w*U)
#     print(BS,b)#下面开始迭代,按理讲,如果是收敛的,那么应该使用前后两步x足够接近来停止迭代x=np.matmul(BS,x0)+fwhile(normx(x-x0,"inf")>limit):x0=xx=np.matmul(BS,x0)+freturn x   
def normx(x,norm):#求一个向量的范数,目前只支持无穷范数。if(norm=="inf"):#相当于先取绝对值了。x=np.maximum(x,-x)return np.max(x)

测试如下:

A=np.array([[4,-1,0],[-1,4,-1],[0,-1,4]])
b=np.array([1,4,-3])
x0=np.array([0,0,0])
limit=0.0000001
print(A)
print(b)
sor(A,b,1,x0,limit)

结果如下:

你可以手算一下,发现就是这个,误差只有一点点limit

SOR迭代求解线性方程组代码实现相关推荐

  1. 【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)

    线性方程组迭代解法公式类似非线性方程求根的简单迭代法公式, 有Jacobi迭代法. Seidel迭代法及Sor法等. 题目1-Jacobi迭代法和Seidel迭代法 来源:<数值分析>第5 ...

  2. sor迭代法求解线性方程组(Matlab)

    sor迭代法求解线性方程组(Matlab) 函数文件(sor.m) 该函数不含停止的误差判断条件 function [x,n] = sor(A,b,x,w,it_max) % 求线性方程组的sor(s ...

  3. 数值计算大作业:Jacobi与Gauss -Seidel迭代求解线性方程组(Matlab实现)

    作为研究生的入门课,数值计算的大作业算是所有研究生开学的重要编程作业. 我把Jacobi与Gauss -Seidel迭代求解线性方程组的数值计算作业在MATLAB中编程实现.具体的程序详细标注后放在文 ...

  4. Jacobi迭代与SOR迭代求解希尔伯特矩阵

    给出线性方程组 Hn*x = b,其中系数矩阵Hn为希尔伯特矩阵: 假设 x ∗ =(1, 1, . . . , 1)T,b = Hnx ∗.若取 n = 6,8, 10,分别用 Jacobi 迭代法 ...

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

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

  6. SOR迭代法c语言报告,SOR迭代_C语言代码

    # include # include #include float **a; /*存放A矩阵*/ float *b; /*存放b矩阵*/ float *x; /*存放x矩阵*/ float p; / ...

  7. 迭代求解线性方程组的解

    码字不易,觉得好,点个赞或收藏下吧!

  8. matlab迭代算法实例sor,SOR迭代 - 程序语言 - MATLAB/Mathematica - 小木虫论坛-学术科研互动平台...

    方法一:建立了SOR.m的脚本文件,实现的是SOR迭代,程序语言如下: %SOR迭代 clear; clc; format long; i=1; n=6; H=hilb(n); X=ones(n,1) ...

  9. 数值代数课设(99分)--基于Jacobi迭代,GS迭代,SOR迭代对泊松方程的求解[matlab](上)

    基于Jacobi迭代,GS迭代,SOR迭代对泊松方程的求解 摘要 随着大数据时代的到来,人们需要处理的数据越来越多,所需要考虑的条件因素也在增加.在工程方面,人们所需要处理的问题往往会转化为找出大规模 ...

最新文章

  1. python教程长城图案,Python编写万花尺图案实例
  2. C#皮肤之IrisSkin4.dll
  3. Intellij新建Spring项目引入用户目录下的Spring jar包
  4. 热电偶校验仪_热电偶校验方法_热电偶的使用方法及维修经验
  5. 实验 使用 vivado zedboard GPIO 开关 开控制 LED
  6. cwntos linux kde桌面,Centos如何安装KDE的桌面
  7. Java环境配置出现的问题及解决办法
  8. AD域首次登陆修改密码设置
  9. 比雷蛇0day更严重:通过虚拟赛睿外设即获取 Windows 管理员权限
  10. 基于多分类支持向量机和KNN分类器的大豆叶片病害检测与严重程度测量
  11. Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)
  12. maven上传pom文件
  13. windows11中文语言包|windows11中文汉化包
  14. MATLAB最小矩形法边界法,最小外接矩形法.PPT
  15. 用Java做一个基于Swing的多人网络聊天室
  16. 个人开发者用户福音,轻松申请微信商户、支付宝支付妙招
  17. CSS实现元素width右方向变化、左方向变化、双向变化
  18. C++中cout<<后面加endl什么意思?
  19. 前端JSer装逼手册
  20. 奥利给 之 【优学院自定义速度】

热门文章

  1. 什么是 Python 的 「内存管理机制」?
  2. 解决办法:CMake编译时出现“error in configuration process project files may be invalid”
  3. 有没有将深度学习融入机器人领域的尝试?有哪些难点?
  4. 小米用户画像实战(附48页PPT)
  5. 企业数智化转型与分析流程自动化(APA)
  6. 独家 | 机器学习模型应用方法综述
  7. 清华大数据系列讲座——大数据发展与区块链应用成功举办
  8. 关于TensorFlow,你应该了解这9件事(附代码链接)
  9. 独家 | 10分钟带你上手TensorFlow实践(附代码)
  10. 简单mysql 查询_MySQL简单查询详解