原发表于数学中国微信公众号,关注数学中国微信公众号可查看更多。请用电脑查看,手机版图片可能无法正常显示。
![]() 设有n个变量,m个方程,方程组的系数矩阵为A,常数项列向量为b,则A为m×n矩阵,b为m×l矩阵,方程组可写为Ax=b 其中x为n个变量构成的列向量,若rank(A)=m,且m=n,则方程有唯一解,称为恰定方程组;设B=(A|b)为增广矩阵,且若rank(A)≠rank(B),则方程组无解,称为超定方程组;rank(A)=rank(B)=r<m,则方程有无穷多组解,称为欠定方程组。若b中元素全为0,称方程组为齐次线性方程组。 齐次线性方程组的求解 对于齐次线性方程组Ax=0,由线性代数知识知,它至少有一零解,若rank(A)<m,则它有无穷多组解。在MATLAB中有一个非常有用的函数B=null(A),它返回了矩阵A的零空间的标准正交基组成的矩阵B,使得BTxB=E,B的列数等于矩阵A的零空间的维数,即B的列向量构成了线性方程组的一组标准正交基础解系。 例:解方程组: 在MATLAB中输入: 因而,原方程组的通解为 其中k1与k2为任意常数。 例5.2.2 求方阵A的含有最多零元素个数的解。 在例5.2.1求解后,运行: 则有 故方程组的通解为 恰定方程组的求解 恰定方程组Ax=b的求解比较简单。一般可用两种方法:一种是利用逆矩阵求解:x=inv(A)b;另一种是用除法求解x=A\b。两种方法的异同点是:算法上都采用Guass消去法,但用除法求解时,无需求A的逆,这样可以很好地保证求解时的计算精度,还能节省大量的计算时间。当然也可以用Cramer法则求解方程组。 比较多种形式求解恰定方程组: 结果为: 由结果可知,用除法耗时最少,大约只有逆矩阵法的1/3,而Cramer法则约是它的85倍;而从误差分析来看,仍然是除法最精确。可见,用除法求解恰定方程组,既省时又精确。值得注意的是,利用逆矩阵inv(A)求解时,若A不是方阵,则要用广义逆pinv(A)来求。 超定方程组的求解
由于超定方程组无解,而在实际应用中,能求得其最小二乘解也是有意义的,这时,方程组的求解仍可用除法和广义逆矩阵法,不过这样求得的解不会满足Ax=b,而是其最小二乘意义下的解,即解x=inv(ATA)ATb。如: 方程组的求解的除法和广义逆矩阵法。 执行后有: 欠定方程组的求解 从理论上说,欠定方程组有无穷多组解。这时,我们仍然可用广义逆矩阵法和矩阵除法求解方程组,但前者所求的解是所有解中范数最小的一个,而后者所求的解是所有解中含零个数最多的一个,因而两种解法的结果一般会有所不同。但它们求出的解是所有解系中的一个特解,要求其通解,则先解其对应的齐次方程的通解,然后再加上自身的一个特解即可。值得注意的是,用除法求解欠定方程组时,会提出警告,并给出系数矩阵的秩,但警告并不会影响方程求解,如用除法求解欠定方程组Ax=b。 结果显示: 故方程组的通解为 或
关注数学中国微信与微博查看更多
|