matlab直接求解线性方程
如何用Matlab求线性方程组的通解?
如何用Matlab求线性方程组的通解?
方案一:利用除法和 null 函数
1、在命令窗口输入以下命令:
A[1 1 -1 -12 -5 3 27 -7 3 1]
B[5 -4 7]
format rat x1AB %求得非齐次方程组AxB的一个特解x1
Ynull(A,r) %求得齐次方程组Ax0 的基础解系Y
上面符号%后为解释说明,实际中可不输入
2、按回车,得通解。
xx1 k1*Y(1) k2*Y(2)
方案二:利用 rref 函数
1、在命令窗口输入以下命令:
format ratA[1 1 -1 -12 -5 3 27 -7 3 1]
B[5 -4 7]%用初等行变换将增广矩阵 [A B] 化成最简行阶梯形T
Trref([A B])
2、按回车,得通解。
举例说明如何用Matlab求线性方程组的通解:
gtgt a[1 -1 1 -1-1 1 1 -12 -2 -1 1] %线性方程组的系数矩阵
gtgt b[11-1] % 常列向量
gtgt [rank(a) rank([a,b])]
ans
2 2 %秩相等且小于4,说明有无穷多解
gtgt rref([a,b]) %简化行阶梯形矩阵
ans
1 -1 0 0 0
0 0 1 -1 1
0 0 0 0 0
从而原方程组等价于x1x2,x3x4 1。
令x2k1,x4k2
于是,我们求得通解
有什么可以解线性代数的软件吗?
MATLAB可以解线性代数
给你演示三个例子,求行列式,求RANK,求方程组的解
gtgt A[1 2 3 1 2 54 5 7]
A
1 2 3
1 2 5
4 5 7
gtgt det(A)
ans
6
gtgt rank(A)
ans
3
gtgt A[1 2 3]
ans
0.5000
-0.5000
0.5000