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

📄 gausselimination.m

📁 在MATLAB中实现用高斯消元法求解线性方程组!
💻 M
字号:
clear; augm=input('Please input the augmented matrix:'); % 输入增广矩阵,记为augm
[m,l]=size(augm);      % 增广矩阵的行数为m,列数为n
for i=1:m-1
    if augm(i,i)==0    % 如果第i行i列位置的元素为零,则要将此行与下面
        k=i+1;         % 的行交换,直到i行i列位置的元素不为零
        while augm(k,i)==0&k<=m
            k=k+1;
        end
        b=augm(i,:); augm(i,:)=augm(k,:); augm(k,:)=b;
    end
    for j=i+1:m         % 将augm第i行乘以非零数{-augm(j,i)/augm(i,i)}加到下面各行,使augm(i,i)
        augm(j,:)=augm(j,:)-augm(j,i)/augm(i,i).*augm(i,:);% 下方的元素全为零化为阶梯型矩阵
    end
end
augm,                   % 在Matlab的Command Window中显示出上述阶梯型矩阵
x(m)=augm(m,m+1)/augm(m,m);      % 先将最后一个未知数x(m)求出来
for i=m-1:-1:1                   % 然后由后往前将未知数逐个求出
    b=0;
    for j=m:-1:i+1
        b=b+x(j)*augm(i,j);
    end
    x(i)=(augm(i,m+1)-b)/augm(i,i);
end
x,                      % 在Matlab的Command Window中显示出解向量x       

⌨️ 快捷键说明

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