📄 gausselimination.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 + -