Inner matrix dimensions must agree.

2 次查看(过去 30 天)
m13
m13 2017-6-16
I am trying to solve the the equation below and keep getting the error that inner matrix dimensions don't agree. I've been looking at this for awhile and can't figure it out. K1 = 4x4 matrix, W = 4x4 matrix, TD = 4x3 matrix, tau = 3x1 matrix.
u2 = inv(K1)*Winv*TD*inv(TD'*Winv*TD)*tau;
  3 个评论
m13
m13 2017-6-16
I believe the problem might actually be earlier in my simulation. I am trying to use simulink and am completely new to it. Is there any way to look at each variable output after running the model?
David Goodmanson
David Goodmanson 2017-6-17
I don't have simulink but no doubt someone who does will weigh in.

请先登录,再进行评论。

回答(1 个)

John D'Errico
John D'Errico 2017-6-16
NEVER ASSUME ANYTHING. Never. When you have a problem like this, test those assumptions. Verify your facts. Because the fact is, MATLAB is not a liar. It tells the truth. If it tells you there is a matrix dimension mismatch, then that is because there is one.
whos K1 Winv TD tau
You have told us the shape of those variables. But not all of them. You told us that W is 4x4. Should we just assume that means the variable Winv is also 4x4?
If you are running this inside a function, verify the size of those matrices INSIDE the function. Why? Because people screw up. They change things without realizing they did. They overwrite variables with ones of a different size.
  2 个评论
m13
m13 2017-6-16
This issue is in an embedded matlab function in my simulink simulation. Is there a way to see the results variables it is computing as it runs? not sure how to do that to be able to debug.
John D'Errico
John D'Errico 2017-6-17
I am in the same place as David, lacking simulink, I can't help you in that respect. The fact is your arrays do not conform in size for multiplication. So you need to track that down.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by