%用高斯消去法把矩阵A转换为上三角阵
[m,n]=size(A) %获得A的行和列分别存入m和n中
% 列主元素消去法
for k=1:n-1
[v,u]=max(abs(A(k:n,k))) %选出A的第k列中绝对值最大元素存入v, 而u是记录多少的行或列,并取最大值,比如有m行,n列,且n>m,则u=n
%计算矩阵A中这些元素 A(k:n,1:k)
u=u+k-1
%因为函数返回矩阵A(k:n,1:k)中最大元素,因此我们应该变换矩阵A的值,下面进行变换
p(k)=u%用p(k)来记录u的值
%交换第k行和第u行的数据
t1 = A(k,k:n) %为了实现交换,定义一个中间变量t1
A(k,k:n) = A(u,k:n)
A(u,k:n) = t1
t2 = b(k) %t2是一个临时变量
b(k) = b(u)
b(u) = t2
%前面主要是对A进行变换,即在进行消去之前,第一次先比较A中第一列绝对值最大的元素,然后再将第一列中有最大元素的那行交换到第1行,
然后用下面方法进行消去,锋郑将除第一行外的元素的第一列都消去为0;第二次然后比较A中第二列元素(此时第一行不用参与比较),将最大元素那行
交换到第二行,将3,4,5…行的第二列也变为0;依此类推,直到把A变为上三角阵,这也是为什么下面的A(k,k) ~= 0不为0的陆基让原因(有0就可省去一步)
% 高斯消去法
if A(k,k) ~= 0
%下面是高斯法消去的主要步骤,可参考有关书看看。
rows=k+1:n
A(rows,k)=A(rows,k)/A(k,k)
A(rows,rows)=A(rows,rows)-A(rows,k)*A(k,k)
L(rows,rows)=A(rows,rows)
end
end
% 计算矩阵 U
for k=2:n
A(k,1:k-1)=0
end
二、求解三角方程组的程序:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 用转换为三角矩阵法来求解Ax=b
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[m,n]=size(A) %获得A的行和列分别存入m和n中
%x(n)=b(n)/A(n,n) %计算x(n)
% 下面进行求解
for i = n : -1 : 1
t = 0
for j = n : -1 : i+1
t = t+A(i,j)*x(j)
end
x(i) = (b(i)-t)/A(i,i)
end
三、主程序:
function Examples_Eqn_Root
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 用高斯消去法求解线性方程 Ax=b
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A = [ 1 3 6 8 9 2 %i输入矩早局阵 'A'
2 5 3 1 6 3
3 6 1 2 8 5
2 6 8 9 3 8
5 8 9 3 2 3
3 5 8 1 7 2]
b= [2 -3 2 55 16 -6] %i输入 'b'
b = b' %转换 'b'
[A,b]= Gauss(A,b) %把[A b]变换为A为上三角阵的形式
%同时将变换后的'b'返还给b
b = b'
x= Eqn_Root(A,b)%通过三角阵方法求解
end
高斯消去法解方程组步骤如下:
1、将线性方程组的系数矩阵和常数项向量组成增广矩阵。
2、对增广矩阵进行行初等变换,使得增广矩阵变为行阶梯矩阵,即主元所在列以下的元素全部为0,主元所在列以上的态册元素不全为0。这里的主元是指矩阵中第k行第k列的元素,其中k为行数和列数中的较小值。
3、从最后一行开始,依次代入求解各个未知数的值,即先求得最后一行的未知数,然后带入倒数第二行求解,以此类推,最终得到所有未知数的值。
需要注意的是,在进行高斯消去法时,如果系数矩阵中存在主元为0的情况,需要进行一些特殊处理,例如交换行或添加倍数等 *** 作,确保主元不为0。此外,如果系数矩阵为奇异矩阵,即行列式为0,那么方程组无解或有无穷多解。
高斯:
高斯(1777年4月30日-1855年2月23日)是德国著名的数学家、物理学家和天文学家,是现代数学手闭岩和现代物理学的奠基人之一。高斯在数学领域的贡献非常巨大,他创立了现代数学的基础,对数学、物理学、天文学等领域都做出了卓越毕御的贡献。他发明了高斯消元法,用于解决线性方程组和计算行列式,为线性代数和矩阵理论的发展奠定了基础。
他还创立了复数理论,提出了最小二乘法,发明了高斯分布和正态分布等概率分布,为统计学和概率论的发展做出了贡献。在天文学领域,高斯发现了小行星谷神星,并利用其轨道预测了其下一次出现的时间和位置,这项成就被誉为天文学历史上的重大突破。他还发明了用于测量地球磁场的高斯磁力仪,并开创了地球磁场研究的新时代。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)