实验一用matlab求解线性方程组 下载本文

实验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 =