"Subscripted assignment dimension mismatch." error matlab
Show older comments
Hi,
I do not know why I have "Subscripted assignment dimension mismatch." error at line u(i,j)=1./sum_d;. Below is my coding:
%update U
for i=1:nc
for j=1:o
sum_d=0;
for k=1:nc
sum_d = sum_d + (distance(c(i,:),x(j,:))/distance(c(k,:),x(j,:)))^(2/(m_exponent-1));
end
u(i,j)=1./sum_d;
end
end
Hope to get the solution soon.Thanks.
Accepted Answer
More Answers (1)
Star Strider
on 2 Mar 2014
I suggest you run this statement separately (it’s now part of your sum_d statement)
(distance(c(i,:),x(j,:))/distance(c(k,:),x(j,:)))^(2/(m_exponent-1));
and check its dimensions. It might be a vector, meaning that sum_d will be a vector.
This line
u(i,j)=1./sum_d;
wants sum_d to be a scalar.
5 Comments
Ong Teng
on 2 Mar 2014
Star Strider
on 2 Mar 2014
d = (distance(c(i,:),x(j,:))/distance(c(k,:),x(j,:)))^(2/(m_exponent-1));
Ong Teng
on 2 Mar 2014
Ong Teng
on 4 Mar 2014
Categories
Find more on Fuzzy Logic Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!