what will be the solution for this error
조회 수: 5 (최근 30일)
이전 댓글 표시
function idx=nomc(meas)
W=SimilarMatrix(meas,1);
D=diag(sum(W));
L=D-W;
Lsym=(D^(-1/2))*L*(D^(-1/2));
[ev ed]=eig(Lsym);
d=diag(ed); %#ok<NASGU>
V=ev(:,1:3);
for i=1:250
for j=1:7
U(i,j)=V(i,j)/sqrt(sum(V(i,:).^2)); %#ok<AGROW>
end
end
idx=kmeans(U,3);
figure;plot(idx);
result=[length(find(idx==1)),length(find(idx==2)),length(find(idx==3))];
getting error
??? Attempted to access V(1,4); index out of bounds because
size(V)=[143,3].
Error in ==> nomc at 11
U(i,j)=V(i,j)/sqrt(sum(V(i,:).^2)); %#ok<AGROW>
Error in ==> Normalizemeanseg at 120
f=nomc(y);
댓글 수: 2
답변 (1개)
Titus Edelhofer
2014년 9월 12일
Hi,
you write
V = ev(:, 1:3);
so V has three columns. But your loop on j is
for j=1:7
That doesn't match ...
Titus
댓글 수: 4
Image Analyst
2014년 9월 12일
Poonam, I think you're mistaken. If the error says
Attempted to access V(1,4);
and your code is
for j=1:3
Then there is no way the second index of V could be 4 in this line
U(i,j)=V(i,j).....
Pierre Benoit
2014년 9월 12일
편집: Pierre Benoit
2014년 9월 12일
Well, my guess was that this is no longer j that was causing a problem but i since the boundary of this loop is also quite arbitrary. And, maybe the author forgot to tell us or didn't see that the error changed a little.
But at this point, we can only guess given how little information we have.
참고 항목
카테고리
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!