2013-11-14 111 views
-3

我正在做一个MATLAB的入门课程(我是一名初学者),我在解决有关矩阵方程的问题时遇到了问题。Matlab中的矩阵方程

的公式为

AX = C - BX 

我要解决的矩阵X。无论我怎么试图解决它,我都会空手而归或出现某种语法错误。我想我错过了一些基本的东西。

任何有关这个问题的帮助,非常感谢。

+2

如果您将代码与您遇到的错误一起发布,最好是使用 – Bull

回答

2

对于此方程要一致,AB必须具有相同的大小。因此,你可以重新写你的公式为:

(A+B)X = C 

这可以在MATLAB来解决了:

X = (A+B)\C 

注意,这将总是找到解决的办法,不管A+B大小:

  • 如果A+B是正方形,您会找到“the”解决方案。
  • 如果A+B超出/欠定,它将返回最小二乘逼近X

这取决于你自己决定这是否合意。

如果C为零,则可能需要使用null(或查看svd)。

+0

@B ...:为什么? –

+0

@B ...对于确切的解决方案'A'和'B'应该是正方形的,但是当'A'和'B'具有比列多的行时,您可以搜索最小二乘解。 – Shai

+0

@B ...:假设'A = n×m'和'X = m×p',则'AX = n×p'。这意味着'C'也必须是'n×p',所以'B'必须是'n×m'。据我所知,对于'n','m'和'p'的值没有限制...... –