• 大小: 738 Bytes
    文件类型: .rar
    金币: 1
    下载: 1 次
    发布日期: 2024-09-26
  • 语言: Matlab
  • 标签: GaussJordan  

资源简介

matlab 编的,GaussJordan解线性方程组,没有用内部函数,方便使用

资源截图

代码片段和文件信息

function [X]=GaussJordan(AB)
% GaussJordan A:系数矩阵 B:常矩阵
%获取输入的矩阵维数
[mn]=size(A);
[m1n1]=size(B);
%判断系数矩阵或常矩阵输入是否正确 m是维数
if m~=n | m~=n1
    disp(‘输入的系数矩阵或常矩阵不符合件!‘);
    return;
end
%增广矩阵 定义A1B1保存AB
A1=A;
B1=B‘;
IsSelected=zeros(1m);
xishu=zeros(1m);
A(1:endm+1)=B1;
%%%%%%%%%%%%%%%%%%%%%%
for col=1:m%控制列
      maxi=E1(AmcolIsSelected);
      xishu(maxi)=col;
      IsSelected(maxi)=1;
      %按列取最大 maxi保留方程
  for i=1:m%代消元的行
      if i==maxi
            continue;
      end       
      f=A(icol)/A(maxicol);
      %%%代消元的列
      for j=1:m+1
          A(ij)=A(ij)-f*A(maxij);
      end
  end
end 
for col=1:m
    X(col)=A(colm+1)/A(colxishu(col));
end
%%%%%%%%%%%%%%%%%%%%%%%%%定义子函数%%%%%%%%%%%%%%%%%%%%%%%%%%
function maxi=E1(AAm1jIsSelected1)%寻找第j列的最大元素m是AA的维数 IsSelected1记录该行是否选折过;
maxi=1;
maxnum=abs(AA(1j));
for k=2:m1
    if(IsSelected1(k)~=0)
        continue;   
    end
    if    maxnum          maxi=k;
          maxnum=abs(AA(kj));
      end
end   
return;
%function E2(ci)
%function E3(cij)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1202  2007-12-23 21:37  GaussJordan.m

----------- ---------  ---------- -----  ----

                 1202                    1


评论

共有 条评论

相关资源