?? 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 + -