MATLAB 8.5基础教程
上QQ阅读APP看书,第一时间看更新

2.5 利用矩阵解线性方程组

可将一般的线性方程组使用矩阵形式表示,利用矩阵运算及函数可以很容易解决线性齐次、非齐次方程的有解、无解、无穷多解等问题。

2.5.1 线性方程组的唯一解

线性方程组的矩阵形式为AX=b(A为系数矩阵,b为常数项列向量,X为未知数列向量),其唯一解为X=A−1b。

2.5.2 齐次线性方程组的通解

齐次线性方程组矩阵形式:AX=0。

格式:Z=null(A,′r′)%Z的列向量是方程AX=0的有理基础解系

【例2-18】 求方程组的通解。

解:求基础解系的程序如下:

运行结果如下:

通解表示的程序如下:

运行结果如下:

2.5.3 非齐次线性方程组的通解

对于非齐次线性方程组,需要先判断方程组是否有解,若有解,则再求通解。其步骤如下:

1)判断AX=b是否有解,若有解则进行第2)步。

2)求AX=b的一个特解。

3)求AX=0的通解。

4)AX=b的通解=“AX=0”的通解+“AX=b”的一个特解。

【例2-19】 求方程组的解。

解:在MATLAB中建立M文件如下:

运行结果如下:

说明该方程组无解。

【例2-20】 求方程组的通解。

解:在MATLAB中建立M文件如下:

运行结果如下:

所以原方程组的通解为:

2.5.4 超定方程组

超定方程组是指方程的个数大于未知数的个数的线性方程组,通常无精确解,但存在近似的最小二乘解。其解法不需要检查系数矩阵的秩是否小于行数、列数,而直接利用广义逆矩阵函数pinv()计算即可。

格式:X=pinv(A)*b %A为超定方程组的系数矩阵,b为常数项列向量

【例2-21】 求方程组的解。

解:在Matlab中建立M文件如下:

运行结果如下: