【发布时间】:2013-11-14 14:00:00
【问题描述】:
我正在学习 MATLAB 入门课程(我是初学者),但在解决有关矩阵方程的问题时遇到了麻烦。
等式是
AX = C - BX
我想求解矩阵X。无论我如何尝试解决它,我要么空手而归,要么出现某种语法错误。我想我错过了一些基本的东西。
非常感谢您对此主题的任何帮助。
【问题讨论】:
-
最好将代码连同您遇到的错误一起发布
我正在学习 MATLAB 入门课程(我是初学者),但在解决有关矩阵方程的问题时遇到了麻烦。
等式是
AX = C - BX
我想求解矩阵X。无论我如何尝试解决它,我要么空手而归,要么出现某种语法错误。我想我错过了一些基本的东西。
非常感谢您对此主题的任何帮助。
【问题讨论】:
为了使这个等式保持一致,A 和 B 必须具有相同的大小。因此,您可以将等式重写为:
(A+B)X = C
这可以在 MATLAB 中解决:
X = (A+B)\C
请注意,无论A+B 的大小如何,这总是会找到解决方案:
A+B 是正方形的,您将找到“the”解决方案。 A+B 过确定/欠确定,它将返回X 的最小二乘近似值。这是否可取由您决定。
如果C 为零,您可能需要使用null(或查看svd)。
【讨论】:
A 和 B 应该是正方形,但是当 A 和 B 的行数超过列。
A = n×m 和X = m×p,然后是AX = n×p。这意味着C 也必须是n×p,因此B 必须是n×m。据我所知,n、m 和 p 的值没有限制......
X = (A+B)\C 都会找到解决方案。当然,很高兴知道这可能不是“解决方案”。