zoukankan      html  css  js  c++  java
  • Matlab-1:jacobi迭代法工具箱

     1 function [u,n]=Jacobi(A,b,u0,eps,varargin)
     2 %Jacobi.m函数为用于雅可比迭代法求解线性方程组
     3 %A为线性方程组的系数矩阵
     4 %b为线性方程组的常数向量
     5 %u0为迭代初始向量
     6 %eps为解的精度控制
     7 %varargin为迭代步数控制
     8 %u为线性方程组的解
     9 %n为求出所有精度的解实际的迭代步数
    10 if nargin==3
    11     eps=1.0e-10;
    12     M=200;
    13 elseif nargin<3
    14     error
    15     return
    16 elseif nargin==5
    17     M=varargin{1};
    18 end
    19 D=diag(diag(A));%求A的对角矩阵
    20 L=-tril(A,-1);%求A的下三角阵
    21 U=-triu(A,1);%求A的上三角阵
    22 B=D(L+U);
    23 f=D;
    24 u=B*u0+f;
    25 n=1;  %迭代次数
    26 while norm(u-u0)>=eps & n<=1000
    27     u0=u;
    28     u=B*u0+f;
    29     n=n+1;
    30 %     if (n>=M)
    31 %         disp('Warning:迭代次数太多,可能不收敛!');
    32 %         return;
    33 %     end
    34 end

     算法推导:

  • 相关阅读:
    接口测试基础07
    性能测试基础01
    接口测试基础06
    将java list转换为js的数组
    java 网络编程
    java分页
    单例模式
    适配器模式
    抽象工厂模式
    工厂模式
  • 原文地址:https://www.cnblogs.com/xtu-hudongdong/p/6505978.html
Copyright © 2011-2022 走看看