dimension mismatch error in Matlab

9 vues (au cours des 30 derniers jours)
Respaco
Respaco le 20 Sep 2012
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 commentaires
Javier
Javier le 20 Sep 2012
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
Respaco
Respaco le 20 Sep 2012
Thanks Javier. Actually Matlab shows in which line it has found this error but i can not understand the mistake. It is such a code : A(i,:)=B(1,:);

Connectez-vous pour commenter.

Réponse acceptée

Matt Fig
Matt Fig le 20 Sep 2012
Modifié(e) : Matt Fig le 20 Sep 2012
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 commentaires
Matt Fig
Matt Fig le 20 Sep 2012
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
Walter Roberson le 20 Sep 2012
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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by