MATLAB 实现列主元消去法
基于自己对列主元Gauss消元法算法的理解
写了一段matlab语言的列主元Gauss消去法
列主元消去法是对Gauss消去法的优化版本
由于计算机存在舍入误差
所以主元元素在做分母时不能太小
否则在有些求解的时候会引起较大的误差
因此需要将最大的主元选出
将代码存为.m脚本
%功能是列主元Gauss消去法解方程组
%A为数入矩阵系数,b为方程组右端系数
%方程组的解保存在解向量x中
A=input('请输入方程组系数矩阵A:');
b=input('请输入方程组系数b:');
b=b';
[m,n]=size(A); %A的行数和列数(A的大小)
if m~=n
error('矩阵A的行数和列数必须相同!');
return;
end
if m~=size(b)
error('b的大小必须和A的行数和列数相同');
return;
end
if rank(A