how can i fix this error?

1 次查看(过去 30 天)
a=[1 0 1 0 0 0 0 0 0 0 0;
0 1 0 1 0 0 0 0 0 0 0;
0 0 -R*sind(theta) R*cosd(theta) 0 0 0 0 0 0 1;
0 0 0 0 1 0 1 0 0 0 0;
0 0 0 0 0 1 0 1 0 0 0;
0 0 0 0 -R*sind(theta) R*cosd(theta) 0 0 0 0 0;
0 0 -1 0 -1 0 0 0 (4*abs(sign)) 0 0;
0 0 0 -1 0 -1 0 0 (-4*u*sign) 0 0;
0 0 -c (3*R) -c (-3*R) 0 0 (-4*(y-c)) 0 0;
0 0 0 0 0 0 0 0 -sign u*sign 0;
0 0 0 0 0 0 0 0 (-u*sign) 1 0]
Error using horzcat
Dimensions of matrices being concatenated are not consistent.
  3 个评论
Emily Gobreski
Emily Gobreski 2016-6-12
I am confused. I entered it using the formatting code.
Guillaume
Guillaume 2016-6-12
I think what Muhammad meant is your write your long matrix on more than one row as it's difficult to read long lines on the forum.
I've reformated your post so it's easier to see your matrix. Kudos for using the formatting tools.

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2016-6-12
Presumably one of R, theta, sign (!), u, y, or c is not scalar but a matrix or column vector. You can't horizontally concatenate scalars with matrices or column vector, hence the error.
Find out which variable is the culprit on why it's not scalar (or why you're using a non scalar variable in your expression).
Also, I strongly recommend changing the name of the sign variable. sign is already a function in matlab which you won't be able to use if you've got a variable of the same name.

更多回答(1 个)

Muhammad Usman Saleem
One of the rows does not have the same number of columns as the other.
One of the ways this could happen is if one of the elements is empty when the others are not.
  1 个评论
Guillaume
Guillaume 2016-6-12
Actually, if the problem was with the number of elements per row, the error would have been "Error using vertcat".

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by