简单矩阵matlab操作



这个问题与基本线性代数有关:

w = [100 200 300 400]' 
M = [0.3378 0.1800;0.1252 0.1200; 0.3759 0.4900; 0.1611 0.2100]

将它们联系起来的方程是w=Mx。我们被告知要找到x。虽然x只是简单的w*M^-1,但矩阵维度与乘法不匹配。有没有办法让我得到x?

给我们的提示是"检查rref([Mw]),看看与x和w相关的方程是否一致。"

通过将向量x乘以M矩阵,可以获得:

0.3378x + 0.1800y = 100
0.1252x + 0.1200y = 200
0.3759x + 0.4900y = 300
0.1611x + 0.2100y = 400

这是一个方程组。您可以将其放入增强矩阵中,并通过求解rref(M)来求解向量x

通过能够获得rref形式,您表明您能够取矩阵的逆,因此能够求解向量x。

您可以使用以下等式来计算x,

x=pinv(M' * M) * M' * w

这是因为,M'*M是一个平方矩阵。你会得到x作为一个2乘1的矩阵。由于我们采用伪逆,我们不必担心M'*M 的奇异性

每个最小二乘问题都应该使用反斜杠运算符(或linsolve),而不是梯形或高斯消去。

该解由Mw给出,它基本上像Imesha Sudasingha所写的那样,但在数值上更稳定,并使用反斜杠运算符进行了优化。

相关内容

  • 没有找到相关文章