n階高斯順序消去法的代碼如下(高斯列主元消去法可以改改代碼,代碼比較粗糙,敬請見諒),嗯,如有雷同,純屬巧合:
%n階矩陣的高斯消去法,matlab程序,gaosi.m
clear,clc
prompt1='輸入矩陣的行數\n';
n=input(prompt1) ; %輸入n階矩陣
for i=1:n %輸入矩陣元素
for j=1:n
number='input:';
matrix(i,j)=input(number);
end
end
for k=1:n %定義一個1*n的矩陣,下邊會用到
matrix2(1,k)=0;
end
for j=1:n %高斯消元法算法
for i=(j+1):n
if(matrix(j,j)~=0) %除數不爲0時,進行各行的計算
divisor=matrix(i,j)/matrix(j,j);
matrix(i,:)=matrix(i,:)-matrix(j,:)*divisor;
else %除數爲0時,找到當前列中,元素不爲0的行數,兩者進行交換
for k=j:n %此時用到了上面定義的一行n列的矩陣
if(matrix(k,j)~=0) %矩陣行元素進行交換
matrix2(1,:)=matrix(j,:);
matrix(j,:)=matrix(k,:);
matrix(k,:)=matrix2(1,:);
end
end
end
end
end
matrix %此處無分號,輸出最後的矩陣
%可以適當的去處某些代碼後邊的分號,以觀察中間過程