一、实验目的
【1】学会Matlab函数的定义和使用方法
【2】利用Gauss列主元消去法求解线性方程组,并用基本算法实现
二、程序功能
【1】采用高斯列主元消去法求解线性方程组AX=b
【2】其中A为N*N的系数矩阵,X和b均为N维列向量
三、实验步骤
【1】在Matlab中创建M文件,实现高斯列主元算法的函数myGauss。
【2】在Matlab中调用函数,求解如下方程组,得出运行结果。
四、程序代码
//这是实验书上,老师给的代码,仅供参考
//小新写的在下面的图片里,可以看看哟~
function[x]=myGauss(a,b)
n=length(a);
x=zeros(n,1);
a=[a b];
for k=1:n-1
max=k;
for i=k+1:n
if a(i,k)>a(max,k)
max=i;
end
end
temp=a(k,k:n+1);
a(k,k:n+1)=a(max,k:n+1);
a(max,k:n+1)=temp;
for i=k+1:n
a(i,k)=-a(i,k)/a(k,k);
a(i,k+1:n+1)=a(i,k+1:n+1)+a(i,k)*a(k,k+1:n+1);
end
end
x(n,1)=a(n,n+1)/a(n,n);
for i=n-1:-1:1
sum=0;
for j=i+1:n
sum=sum+x(j,1)*a(i,j);
end
x(i,1)=(a(i,n+1)-sum)/a(i,i);
end
五、算法实现
六、程序运行结果
七、小结
高斯列主元消元法求解线性方程组和线性代数中学过的消元法类似,忘记的小伙伴记得回去复习~