1.描述:求解线性方程组Ax=b,写成函数。其中,A为n乘n阶矩阵,x为n元未知向量,b为n个常数组成的矩阵。
2.要求:
采用高斯先列主元消元法(也可采用其他方法)求解线性方程组AX=b。
鼓励可视化编程;
源程序中应有足够的注释;
学生可自行增加新功能模块(视情况可另外加分);
必须上机调试通过;
注重算法运用,优化存储效率与运算效率;
需提交源程序(含有注释)及相关文件(数据或数据库文件);
3.选主元:
若在解方程组过程中,系数矩阵上的对角元素为零的话,会导致解出的结果不正确。所以在解方程组过程中要避免此种情况的出现,这就需要选择行的判定条件。经过行变换,使矩阵对角元素均不为零。这个过程称为选主元。选主元分平凡选主元和偏序选主元两种。平凡选主元:如果a,不交换行;如a,寻找第p行下满足a的第一行,设行数为k,然后交换第k行和第p行。这样新主元就是非零主元。偏序选主元:为了减小误差的传播,偏序选主元策略首先检查位于主对角线或主对角线下方第p列的所有元素,确定行k,它的元素绝对值最大。然后如果k>p,则交换第k行和第p行。通常用偏序选主元,可以减小计算误差。
4.三角分解法:
由于求解上三角或下三角线性方程组很容易所以在解线性方程组时,可将系数矩阵分解为下三角矩阵和上三角矩阵。其中下三角矩阵的主对角线为1,上三角矩阵的对角线元素非零。有如下定理:如果非奇异矩阵A可表示为下三角矩阵L和上三角矩阵U的乘积:
A=LU
则A存在一个三角分解。而且,L的对角线元素为1,U的对角线元素非零。得到L和U后,可通过以下步骤得到X:
(1)、利用前向替换法对方程组LYB求解Y。
(2) 、利用回代法对方程组UXY求解X。
1