dimension mismatch error in Matlab
9 次查看(过去 30 天)
显示 更早的评论
Hi everybody,
When i run my program the following error occurs.
"Subscripted assignment dimension mismatch."
I don't know what it means, in particular what it is saying about dimension! i just have some vectors in 1*6 or 3*6.
Looking forward to hearing from you
Best,
2 个评论
Javier
2012-9-20
Possible problems.
Vector multiplication error. M(3x1)*N(2x3).
Define break points in the code to search in what line the error occurs.
Hope it helps
Javier
采纳的回答
Matt Fig
2012-9-20
编辑:Matt Fig
2012-9-20
With code like this:
A(i,:)=B(1,:); % Assume i is a scalar...
you need to make sure that:
size(B,2)==size(A,2)
For example:
A = zeros(6,3);
B = magic(3);
TF = size(B,2)==size(A,2) % True, so o.k.
ii = 2;
A(ii,:)=B(1,:); % This works, because TF is 1.
but, this doesn't work:
A = zeros(3,6);
B = magic(3);
TF = size(B,2)==size(A,2) % False, so not o.k.
ii = 2;
A(ii,:)=B(1,:); % This doesn't works, because TF is 0.
3 个评论
Matt Fig
2012-9-20
Show the relevant code, because there is something you are leaving out. This works and it goes beyond 1000:
A = zeros(2000,3); % 2000 rows.
B = rand(2000,3);
TF = size(B,2)==size(A,2) % True, so o.k.
for ii = 1:2000,A(ii,:) = B(randi(2000),:);end
Walter Roberson
2012-9-20
At the point of error, check to see whether "i" has become a vector.
If it has become a vector, then my crystal ball thinks you might need to read http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!