实验1.1 用matlab求解线性方程组
第一节 线性方程组的求解 一、齐次方程组的求解
rref(A) %将矩阵A化为阶梯形的最简式
null(A) %求满足AX=0的解空间的一组基,即齐次线性方程组的基
础解系
【例1】 求下列齐次线性方程组的一个基础解系,并写出通解:
我们可以通过两种方法来解: 解法1:
>> A=[1 -1 1 -1;1 -1 -1 1;1 -1 -2 2]; >> rref(A) 执行后可得结果: ans=
1 -1 0 0 0 0 -1 1 0 0 0 0 由最简行阶梯型矩阵,得化简后的方程
?x1?x2?x3?x4?0??x1?x2?x3?x4?0?x?x?2x?2x?0234?1
?x1?x2?0??x3?x4?0取x2,x4为自由未知量,扩充方程组为
?x1?x2?x?x?22??x3?x4??x4?x4即
?x1??1??0??x??1??0??2??x???x??2?x3??0?4?1???????x0???1??4?提取自由未知量系数形成的列向量为基础解系,记
?1??1??1???,?0????0??0??0??2???,?1????1?所以齐次方程组的通解为
x?k1?1?k2?2A=[1 -1 1 -1;1 -1 -1 1;1 -1 -2 2];
B=null(A, 'r') % help null 看看加个‘r’是什么作用,
若去掉r,是什么结果?
解法2: clear
执行后可得结果: B=
1 0 1 0 0 1 0 1
易见,可直接得基础解系
?1??1??1???,?0????0??0??0??2???,?1????1?所以齐次方程组的通解为
二、非齐次线性方程组的求解 Matlab 命令的基本格式:
X=A\\b %系数阵A满秩时,用左除法求线性方程组AX=b的解
注意:A/B即为AB-1, 而A\\B即为A-1B.
C =[A,b];
D=rref(C) % 求线性方程组AX=b的特解,即D的最后一列元素
【例2】 求下列非齐次线性方程组的解:
x?k1?1?k2?2?5x1?6x2?1?x?5x?6x?0123???x3?5x4?6x5?0?x?5x?6x?045?3??x4?5x5?1
解: clear
A=[5 6 0 0 0;1 5 6 0 0;0 1 5 6 0;0 0 1 5 6;0 0 0 1 5]; b=[1;0;0;0;1];
format rational %采用有理数近似输出格式,
比较format short看看
x=A\\b
执行后可得所求方程组的解. 作业:
【第一题】 求下列非齐次线性方程组的通解.
?x1?2x2?3x3?x4?3?x?4x?6x?2x?2?1234??2x1?9x2?8x3?3x4?7??3x1?7x2?7x3?2x4?12A=[1 2 3 1;1 4 6 2;2 9 8 3;3 7 7 2] B=[3;2;7;12] format rational x=A\\B x =