数值分析实验报告Sor法分析

数值分析实验报告

实验目的

会使用Sor法求解一个线性方程组

熟悉matlab语言并结合原理编程求方程组

改变的值观察实验结果

会分析实验结果

二、实验题目

编制Sor迭代格式程序进行求解一个线性方程组的迭代计算情况,运行中要选用不同的松弛因子进行尝试

实验原理

Jacobi迭代和seidel迭代对具体的线性方程组来说,逼近的速度是固定不变的,遇到收敛很慢的情况时就显得很不实用。

Sor法是一seidel迭代为基础,并在迭代中引入参数以增加迭代选择的灵活性,具体为:

用seidel迭代算出的再用参数乘之再加上,由seidel迭代的公式可以得到Sor法的迭代格式为

式中称为松弛因子。

实验内容

用matlab编程得到Sor法求线性方程组的算法为:

function [x,n]=SOR(A,b,x0,w,eps,M)

if nargin==4

eps= 1.0e-4;

M = 200;

elseif nargin<4

error

return

elseif nargin ==5

M = 200;

end

if(w<=0 || w>=2)

error;

return;

end

D=diag(diag(A)); %求A的对角矩阵

L=-tril(A,-1); %求A的下三角阵

U=-triu(A,1); %求A的上三角阵

B=inv(D-L*w)*((1-w)*D+w*U);

f=w*inv((D-L*w))*b;

x=B*x0+f;

n=1; %迭代次数

while norm(x-x0)>=eps

x0=x;

x =B*x0+f;

n=n+1;

if(n>=M)

disp('Warning: 迭代次数太多,可能不收敛!');

return;

end

end

>> A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5];

b=[1;2;10;-1];

x0=[0;0;0;0];

w=1;

eps=1e-4;

M=100;

>> [x,n]=SOR(A,b,x0,w,eps,M)

x =

0.0687

0.1645

0.2352

-0.1667

n =

5

error;

>> A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5];

b=[1;2;10;-1];

x0=[0;0;0;0];

w=1.5;

eps=1e-4;

M=100;

[x,n]=SOR(A,b,x0,w,eps,M)

x =

0.0687

0.1645

0.2352

-0.1667

n =

21

>>A=[20 1 -3 -1;3 18 0 7;-1 2 40 -2;1 0 -1 5];

b=[1;2;10;-1];

x0=[0;0;0;0];

w=2.5;

eps=1e-4;

M=100;

[x,n]=SOR(A,b,x0,w,eps,M)

??? Error using ==> error

Not enough input arguments.

Error in ==> SOR at 13

用实验3中的线性方程组作为例子比较得

当=1.5时,x =0.0687 0.1645 0.2352 -0.1667 迭代次数为n=21

当=1时,x =0.0687 0.1645 0.2352 -0.1667 迭代次数为n=5

当=2.5时,出现error

五、实验分析

由定理,Sor法收敛的必要条件是0<<2,因此,当=1.5和1时,算法收敛,能够求出根,并且迭代次数根据的不同而不同,在求方程组的根时,只要选择恰当的,收敛是很快的。而当>2 时,算法不收敛,因此程序出现错误,不能求出根。

当=1时,根据Sor法的构造方法知,此时的Sor法就是seidel法

数值分析sor精确值matlab,数值分析实验报告Sor法分析.doc相关推荐

  1. matlab操作入门实验报告,MATLAB基本操作实验报告.doc

    MATLAB基本操作实验报告MATLAB基本操作实验报告 南昌航空大学 数学与信息科学学院 实 验 报 告 课程名称: 实验名称: 实验类型: 验证性 综合性□ 设计性□ 实验室名称: 班级学号: 学 ...

  2. matlab综合实验研究,MATLAB综合实验报告.doc

    MATLAB综合实验报告MATLAB综合实验报告 综合实验报告 实验目的:学会用MATLAB解决本专业的实际问题. 实验任务:根据已知数据用MATLAB拟合出干涉滤光片的波长与光强的关系曲线.拟合出有 ...

  3. matlab 把区间等分分,MATLAB数学实验报告 定积分的近似计算

    MATLAB数学实验报告 实验日期:2015年11月20日 实验名称定积分的近似计算 姓名:学号:班级: 问题背景描述: 利用牛顿-莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函 ...

  4. 数学实验教程matlab版实验报告,MATLAB数学实验报告.doc

    MATLAB数学实验报告 姓名:李帆 班级:机械(硕)21 学号:2120104008 第一次数学实验报告 --线性规划问题 实验问题 某饲养场饲养动物出售,设每头动物每天至少需要700g蛋白质,30 ...

  5. matlab基础教程实验报告,Matlab基础实验报告.doc

    Matlab基础实验报告 南昌大学实验报告(信号与系统) 学生姓名: 肖江 学 号: 6100210030 专业班级: 电子103班 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 20 ...

  6. matlab上机实验报告,matlab实验报告格式.doc

    matlab实验报告格式,matlab实验报告,matlab实验报告总结,matlab综合实验报告,matlab数学实验报告,matlab仿真实验报告,matlab上机实验报告,matlab实验报告模 ...

  7. matlab的实验报告,MATLAB实验报告(8个实验).doc

    PAGE PAGE 3 四川师范大学MATLAB语言实验报告1 系 级 班 年 月 日 实验名称:Intro, Expressions, Commands 姓名 学号 指导教师 成绩 Objectiv ...

  8. matlab符号运算实验目的,MATLAB符号计算实验报告.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab MATLAB符号计算实验报告.doc11页 本文档 ...

  9. 用模拟计算机求电路方程的解实验报告,电路计算机辅助分析实验报告..docx

    电路计算机辅助分析实验报告. 大连理工大学实验报告电路计算机辅助分析与设计课 程 名 称: 电路计算机辅助分析与设计学部(学院): 电子信息与电气工程学部专 业: 电气工程及其自动化班 级: 电气13 ...

最新文章

  1. 04 Java面试题之数组
  2. 2022年你应该知道的机器学习算法
  3. Windows 8让程序员们忧心忡忡
  4. ANdroid O MeidiaPlayer 深入理解(一)
  5. flask中 app.run(host='0.0.0.0', port=5000, debug=False) 不能用外网ip访问的解决办法
  6. REVERSE-COMPETITION-0xGame2021
  7. Oracle 10g RAC Installer 故障之--Oracle软件安装无法发现集群
  8. Mybatis-plus的相关文章
  9. 理解了这三点,才敢说自己会写Python代码
  10. nvidia显卡cuda的性能_苦等10年!512 CUDA满血GTX 480终于出现:性能提升6%、功耗暴增43%...
  11. 中小学生计算机一等奖李广圆,喜报:昌乐一中学生在第二十届全国中小学电脑制作活动中获两项大奖...
  12. 如何完成企业舆情监测——话题检测与跟踪
  13. 企业微信下载素材库文件
  14. 大道至简:数据库的终极未来
  15. 白嫖党最爱!java冒泡排序详解
  16. 珠海横琴凯悦酒店开业
  17. 北斗/GPS芯片/模块基本常识问答:
  18. 深圳区块链电子发票系统日均开票超12万张
  19. 腾讯云服务器镜像系统选择方法攻略
  20. 新书推荐 |《计算机安全:原理与实践(原书第4版)》

热门文章

  1. MSDN是什么东西?
  2. 合资车、国产车 和 新能源汽车都有哪些品牌?
  3. 八成多的姓氏发源于姬姓,这个最“牛”的姓氏为什么现在这么少?
  4. 如何上好计算机应用基础,浅谈如何上好计算机应用基础课
  5. java 图片image工具类,ImageUtil.java
  6. Android - 框架使用
  7. 不注册Nvidia账号下载cuDNN的方法
  8. python gui测试工具_在Suse10下尝试dogtail(一个python的GUI测试工具..
  9. 8090的你该知道的......很长,但看完后,你会成长
  10. VS20134连接不上SQL server