Simple Matrix matlab mannipulation

时间:2016-03-29 02:24:10

标签: matlab matrix linear-algebra

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

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([M w])以查看与x和w相关的等式是否一致。”

3 个答案:

答案 0 :(得分:0)

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

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

这是因为M' * M是方阵。您将获得x作为2 x 1矩阵。由于我们采用伪逆,我们不必担心M' * M

的奇点

答案 1 :(得分:0)

通过将向量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。

答案 2 :(得分:0)

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

解决方案由M\w给出,它基本上与Imesha Sudasingha所写的相同,但它在数值上更加稳定并且使用反斜杠运算符进行了优化。