Attempted to access sorted_evalue(1); index out of bounds because numel(sorted_evalue)=0. smallest_ev1p = 0.01 * sorted_evalue(1); % to obtain the effective eigen values

조회 수: 5 (최근 30일)
[sorted_evalue, index] = sort( evalue );
sorted_evalue = flipud( sorted_evalue );
index = flipud( index );
evector( :, 1:nof ) = evector ( :, index );
smallest_ev1alue = (1/100) * sorted_evalue(0);
for i = 1:nof
if (sorted_evalue(i) < smallest_evalue)
break;
end
end
index = i+1;
evector = evector( :, 1:index );

채택된 답변

Walter Roberson
Walter Roberson 2016년 2월 23일
Your code fails if evalue is empty at the start of your code. You assume that it is not empty without testing it.
Note: you may wish to consider using sort with 'descending' flag instead of flipud() on the results. You will also need to fix the problem with evalue being empty, but it will make the rest of your code more simple.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by