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 %此处无分号,输出最后的矩阵
%可以适当的去处某些代码后边的分号,以观察中间过程