Solving the linear equation

Hi,
For a simple explanation, an example is 21 = m x 7. m = 21/7 = 3. If I use the m I obtained to time 7, it should be equal to 21.
But above is just numbers, not matrix.
For solving similar problem on matrix, I would like to do a linear conversion from one matrix (P) to another (T).
My equation is T = MP, while T and P are both 3 by 24 matrices. I need to work out M.
My understanding is that M = T/P and M is a 3 x 3 matrix.
But why after I obtained M, I use M*P, it doesn't equal to T anymore. Why is that?

1 个评论

I would reframe the equation as y = Ax, where y contains the 9 terms of T, x contains the 9 unknowns from M and A would be the reformatted T. Then it is a least-squares solution.

请先登录,再进行评论。

 采纳的回答

Matt J
Matt J 2022-6-7
编辑:Matt J 2022-6-7

1 个投票

Because you have 72 equations and only 9 unknowns. The system is over-determined.

更多回答(1 个)

M = T*P.'*inv(P*P.')
is the least-squares solution.
But you cannot expect that T=M*P is exactly satisfied.

类别

帮助中心File Exchange 中查找有关 Dynamic System Models 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by