![a31af38a3f933e666a6042244b1d2628.png](https://img-blog.csdnimg.cn/img_convert/a31af38a3f933e666a6042244b1d2628.png)
在之前的文章C语言实现矩阵求秩和化约化阶梯形中,我们已经实现了求矩阵的秩与约化阶梯形,在此基础上,我们就可以来求解线性方程组了.
一、知识储备
• 一般线性方程组
- 当且仅当
时,线性方程组有解;
2. 当
二、具体实现
- 首先以增广矩阵的形式输入线性方程组,利用"matrix.h"头文件中的求秩函数分别计算增广矩阵和系数矩阵的秩,然后判断是否有解;
- 如果方程有解,再看秩是否与未知量个数相同来判断方程组是有无穷解还是唯一解;
- 如果有方程组有唯一解,则只需借助求约化阶梯形功能得到约化阶梯形的增广矩阵,依次输出矩阵的最后一列元素即可;
- 如果方程组有无穷解,则需要找到自由未知量,然后用未知自由量表示其他的量,获得一个通解的表达式. 在表达过程中,要注意几个常见问题:需要用连续的字母或者带连续下标的字母表示自由未知量;等号后的第一个数或字母前没有加号,只在数或系数为负数时显示减号;如果系数或者数为零,这一项不应出现在解的表达式中;如果系数是 1或者 -1,应当省略不表.
依据上述思路,写出的