打印

matlab 如何求解线性方程组?

[复制链接]
568|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
当一个方程组 Ax=b 有唯一解时可用指令 A\b 直接求解,其中,A 是线性方程组的系数矩阵,b是方程组的右端向量。例如给定线性方程组
可以先输入系数矩阵和右端向量,然后直接求解,在MATLAB中键入
A=[1  2  1  -22  5  3  -2-2  -2  3  51  3  2  3]
b=[47-10]
x=A\b
计算机执行后,将显示数据结果
x= 2  -1  2  -1
由此得知方程组的解为
x1 = 2x2 = -1x3 = 2x4 = -1
上面这一种方法非常适用于方程组有唯一解的情形,在处理实际问题时,有些方程组有无穷多组解,这时可用另一条指令 rref([A b]) 化简方程组的增广矩阵,然后利用线性代数的方法得出方程组的通解。当方程组有唯一解时,仍然可以用这一指令,例如求解上面例子在MATLAB中键入
A=[1  2  1  -22  5  3  -2-2  -2  3  51  3  2  3]
b=[47-10]
rref([A b])
计算机执行后,屏幕将显示数据结果
ans =     1     0     0     0     2
          0     1     0     0    -1
          0     0     1     0     2
          0     0     0     1    -1
这一矩阵与增广矩阵等价(4个非零行5),由此写出与原方程等价的方程组,即
x1 = 2x2 = -1x3 = 2x4 = -1
如果用rref([A b])命令得到最后的矩阵中非零行数小于列数减1,则可求出线性方程组的通解。有关线性方程组的通解和基础解系的概念请参考线性代数教材。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1839

主题

6418

帖子

30

粉丝