⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guass.m

📁 线性方程组的数值解法
💻 M
字号:
function guass(A,B)
%高斯列主元消去法
error(nargchk(2,2,nargin));%判断输入矩阵大小
d=max(size(A));%获取系数矩阵的阶
p=max(size(B));
if d==p
    dimention=d;
else
    fprintf('输入有误,不能构成线性方程组');
end

for q=1:d                                    %寻找主元
    for r=q:d-1
        if (abs(A(r,q)))>=(abs(A(r+1,q)))
            Maxr=r;
        else
            Maxr=r+1;
        end
    end         
            MaxA=zeros(1,d);                 %进行行交换
            MaxB=0;
    if q<Maxr                
            MaxA(1,:)=A(Maxr,:);
            MaxB=B(Maxr);
            A(Maxr,:)=A(q,:);
            B(Maxr)=B(q);
            A(q,:)=MaxA(1,:);
            B(q)=MaxB;
    end
    for m=q+1:d                            %消去主元
        a=A(m,q)/A(q,q);
        A(m,:)=A(m,:)-A(q,:)*a;
        B(m)=B(m)-B(q)*a;
    end    
end
    X=zeros(d,1);                         %求解
    X(d,1)=B(d)/A(d,d);
    for  n=d-1:-1:1
        for  m=n+1:d
            X(n,1)=X(n,1)+A(n,m)*X(m,1);
        end
        X(n,1)=(B(n)-X(n,1))/A(n,n);
    end
        
Result=X

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -