菜单
  

    (4) 若k=N,则停止计算(有选择的输出信息);否则,k=k+1,回到(2)进行下一次迭代。

    Jacobi迭代的Matlab 程序Jacobi.m如下:源:自*751~·论,文'网·www.751com.cn/

    function [x,k] = jacobi(A, b, ep, it_max)

    % 求解线性方程组的Jacobi迭代法,调用方法为

    %    [x,k]=Jacobi(A, b ,ep, it_max)

    % 其中

    %    A 为方程组的系数矩阵,b 为方程组的右端项;

    %    ep 为精度要求,缺省值为1e-5

    %    it_max 为最大迭代次数,缺省值100;

    %    x为方程的解,k为迭代次数。

    if nargin < 4, it_max = 100; 

    end

    if nargin < 3, ep = 1e-5; 

    end

    d = diag(A);L = - tril(A,-1);U = -triu(A,1);

    if min(abs(d)) < 1e-10

        error('% 对角元素为0, 计算失败!');

    end

    n = length(b); x = zeros(n,1); k = 1;

    invD = spdiags(1。/d,0,n,n);

    B = invD*(L+U);f = invD*b;

    while k < it_max

        y = B*x + f;

        if norm(y - x, inf) < ep break; 

        end

        x = y; k = k + 1;

    end

    程序中的函数 spdiags 是生成稀疏形式的对角阵;这样做的好处是: 如果矩阵 A 是稀疏矩阵,那么整个运算可以保持稀疏性。

    Jacobi迭代法的优点是计算相对的简单,每次迭代只需要作向量和矩阵的一次乘法。一般情况,在迭代法收敛的前提下,下一次的迭代比上一次更加准确,所以,为了每次迭代充分利用最新的迭代值,于是就出现了Gauss-Seidel迭代法。文献综述

    Gauss-Seidel迭代法

    Gauss-Seidel迭代的基本思想与Jacobi迭代的基本思想类似。区别在于Gauss-Seidel迭代法,每次迭代都会充分利用最新的迭代值,即如果Jacobi迭代法是收敛的,那么在Jacobi迭代算法的第 (2) 步中,将计算出的x^((k+1))的分量立刻应用到下一个迭代方程中去,这就是Gauss-Seidel迭代。

  1. 上一篇:高等数学在中学数学中的应用
  2. 下一篇:线性变换与矩阵问题的讨论
  1. 椭圆的生成路径研究

  2. 基于指数模型的最大次序统计量的可靠性性质

  3. 关于运用韦达定理时出现问题的探讨

  4. 学讲计划数学课堂中合作...

  5. 行列式在高中数学中的应用

  6. 多项式拟合在变形数据分析中的应用

  7. 非线性差分方程解的单调性

  8. 河岸冲刷和泥沙淤积的监测国内外研究现状

  9. 酸性水汽提装置总汽提塔设计+CAD图纸

  10. java+mysql车辆管理系统的设计+源代码

  11. 乳业同业并购式全产业链...

  12. 当代大学生慈善意识研究+文献综述

  13. 十二层带中心支撑钢结构...

  14. 中考体育项目与体育教学合理结合的研究

  15. 电站锅炉暖风器设计任务书

  16. 杂拟谷盗体内共生菌沃尔...

  17. 大众媒体对公共政策制定的影响

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回