请选择 进入手机版 | 继续访问电脑版

CCOSE论坛

 找回密码
 立即注册
查看: 684|回复: 0

转载:Matlab求解 线性方程组矩阵解法,实测,特别简单好用

[复制链接]

516

主题

745

帖子

2826

积分

论坛元老

Rank: 7Rank: 7Rank: 7

积分
2826
发表于 2021-11-3 07:56:29 | 显示全部楼层 |阅读模式
原帖:https://www.shuxuele.com/algebra ... tions-matrices.html

例子
线性方程组网页上的一个例子是:
例子:解
  • x + y + z = 6
  • 2y + 5z = -4
  • 2x + 5y - z = 27

我们在那个网页用"消元法"去解……但我们也可以用矩阵!
用矩阵来解其实比较容易,因为我们可以用电脑程序(例如 矩阵计算器)来做所有"繁复的运算".
当然,我们首先需要把题写成矩阵形式。
矩阵形式?
矩阵是数的排列,对不对?

矩阵
看看以下的方程式:
x+y+z=6
2y+5z=-4
2x+5y- z=27
这组方程式可以写成一排列的数:
1 1 1=6
0 2 5=-4
2 5 -1=27
再进一步,我们可以把在 "=" 两边的数分开:
111 6
025-4
25-1 27
现在看上去好像两个矩阵。
其实还有一个矩阵,就是 [x y z]。基于矩阵乘法(见 矩阵乘法),我们应该这样写:
我们知道 x + y + z = 6 等等资料,所以方程组可以写成:
酷!
矩阵解法
把这三个矩阵称为 "A", "X" 和 "B",方程组便是:
[color=var(--b3Clr)]AX = B
其中:
  • A 是 x,y 和 z 的系数的 3x3 的矩阵
  • X 是 x,y 和 z,
  • B 是 6,-4 和 27
答案(参见 逆矩阵)的公式是:
[color=var(--b3Clr)]X = A-1B
这个公式的意思是:x、y 和 z 的值(X 矩阵)等于A 矩阵的逆乘以B 矩阵
现在我们用这个来解方程组.
首先要求A 矩阵的逆(假设它存在!)
矩阵计算器,结果是:
(我把 1/行列式 放在矩阵外面,这样矩阵里面的数便可以简单点)
然后把A-1 乘以 B (也是用矩阵计算器):
做好了!解是:
x = 5、y = 3 和 z = -2
和在 线性方程组 网页里算出来的一样。
这是个干净利落和优雅的解法,并且:人来想,电脑来做。

好玩吗?……再来一遍!
这次把矩阵 "X" 放在前面。
很多人以为上面的做法是唯一的做法,但其实也可以按照以下的方法来做。
这样:
[color=var(--b3Clr)]XA = B
因为矩阵特别的乘法,我们要用另一个形式来写下矩阵。我们需要把行和列对调("转置"):
XA = B 像这样:
矩阵解法
答案是(也参见逆矩阵):
[color=var(--b3Clr)]X = BA-1
A-1是:

和上面的逆矩阵差不多,但是转置(行与列对调)了。
接下来把 B 乘以 A-1::
答案和上面的一样:
x = 5、y = 3 和 z = -2
这方法没有那么整齐,但仍然算出了正确的答案。矩阵方程通常可以用不同的方法来解,但我们要小心不要把行和列弄错!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|京ICP备17005959号|IAC-16|Archiver|手机版|小黑屋|CCOSE论坛

GMT+8, 2021-12-8 14:44 , Processed in 0.037792 second(s), 20 queries .

快速回复 返回顶部 返回列表