How to solve : Subscripted assignment dimension mismatch error
Afficher commentaires plus anciens
Hello,
I want to calculate mean of rows with multiple criteria. Below is the for loop which I am using, however I get error :Subscripted assignment dimension mismatch error. It may be due to when it looks for no. of rows to calculate mean, if it finds only one row, then the calculated mean is scalar? If so I want to keep the original row, instead of calculating the mean, Could you please help in this regard how to adjust the script?
Where X is a 5467-by-513 matrix , id is a 143-by-1 vector and wkno is a 44-by-1 vector
for ii=1:size(id,1);
for jj=1:size(wkno,1);
tst(ii,jj)= X(:,1)==id(ii,1) & X(:,2)==wkno(jj,1);
M(ii,jj)=mean(X(tst,:));
end
end
Many thanks
Réponse acceptée
Plus de réponses (1)
Walter Roberson
le 12 Oct 2015
0 votes
It would be the other way around. When there is only one match then the mean calculated would be a scalar, and that is the case that would work. When there are multiple matches then the mean would be a vector with as many entries as the number of columns, and you cannot store a vector into M(ii,jj) as that is a single array location.
1 commentaire
Bali S
le 12 Oct 2015
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!