逐次超松弛迭代法解线性方程组(Matlab程序)

原创 2012年03月30日 18:38:03

%---逐次超松弛迭代法-----
%---successive over-reaxation iteration method
clear;clc;
A=[10,-1,-2;-1,10,-2;-1,-1,5];
b=[72,83,42]';
N=length(b);    %解向量的维数
fprintf('库函数计算结果:');
x=inv(A)*b      %库函数计算结果

x=zeros(N,1);%迭代初始值
%-----(A=D-E-F)------
D=diag(diag(A));
E=-tril(A,-1);%下三角
F=-triu(A,1);%上三角
w=1.1;  %松弛因子,一般0<w<2
B=inv(D-w*E)*[(1-w)*D+w*F];g=w*inv(D-w*E)*b;
eps=0.00001;%相邻解的距离小于该数时,结束迭代

%--------开始迭代-------
for k=1:100 %最大迭代次数为100
    fprintf('第%d次迭代:',k);
    y=B*x+g;
    if abs(x-y)<eps    
        break;
    end
    x=y
end
x

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

最优化方法的Matlab实现

9.1  概   述       利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)...

逐次超松弛迭代法SOR

%SOR:逐次超松弛迭代法 %本函数只能求解当A为n*n的矩阵 %2010-10-21 function x=SOR(A,b,w)     tic;     if nargin==2   ...
  • porly
  • porly
  • 2012年08月17日 13:36
  • 3103

逐次超松弛迭代法SOR

%SOR:逐次超松弛迭代法 %本函数只能求解当A为n*n的矩阵 %2010-10-21 function x=SOR(A,b,w)     tic;     if nargin==2   ...
  • porly
  • porly
  • 2012年08月17日 13:36
  • 3103

3D数学 矩阵和线性变换之旋转

矩阵和线性变换之旋转1. 如何在3D世界中对坐标进行变换? 我们可以通过产生一个具有某种变换效果的矩形,用坐标上的某个点乘上这个矩阵,就会得到变换后的点。这是线性代数中线性变换的内容。 2. 具有...

超松弛迭代法解线性方程组

  • 2009年03月19日 17:28
  • 1KB
  • 下载

数值分析 Gauss-Seidel迭代法求解线性方程组 MATLAB程序实现

Gauss-Seidel迭代法 参考数值分析第四版 颜庆津著 P39 运行输入 运行结果 函数内容(保存为gauss.m文件,在MATLAB中运行) %Gauss-Seidel迭代法求解线性方程组。迭...

逐次超松弛迭代matlab程序

  • 2015年03月01日 22:06
  • 900B
  • 下载

基于matlab的Guass-Seidel(高斯--赛德尔) 迭代法求解线性方程组

Guass-Seidel(高斯–赛德尔) 迭代法(简称 G−S 迭代)是对 Jacobi 迭代的一种改进. 了解G-S迭代法之前先了解什么是Jacobi迭代?链接如下: http://blog.c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:逐次超松弛迭代法解线性方程组(Matlab程序)
举报原因:
原因补充:

(最多只允许输入30个字)