我正在做一个MATLAB的入门课程(我是一名初学者),我在解决有关矩阵方程的问题时遇到了问题。Matlab中的矩阵方程
的公式为
AX = C - BX
我要解决的矩阵X
。无论我怎么试图解决它,我都会空手而归或出现某种语法错误。我想我错过了一些基本的东西。
任何有关这个问题的帮助,非常感谢。
我正在做一个MATLAB的入门课程(我是一名初学者),我在解决有关矩阵方程的问题时遇到了问题。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
)。
@B ...:为什么? –
@B ...对于确切的解决方案'A'和'B'应该是正方形的,但是当'A'和'B'具有比列多的行时,您可以搜索最小二乘解。 – Shai
@B ...:假设'A = n×m'和'X = m×p',则'AX = n×p'。这意味着'C'也必须是'n×p',所以'B'必须是'n×m'。据我所知,对于'n','m'和'p'的值没有限制...... –
如果您将代码与您遇到的错误一起发布,最好是使用 – Bull