MATLAB: ” Attempted to access sorted_evalue(0); index must be a positive integer or logical. ” how to remove this?????

MATLAB

%calculate eigen vector & eigen value of cm = evector & evalue
evector = dfdb * rvector;
evalue = diag( rvalue );
%clear rvector rvalue
disp( 'Calculated Eigen Vectors & Eigen Values of CM' );
[sorted_evalue, index] = sort( evalue ); %sorted in acending order
sorted_evalue = flipud( sorted_evalue ); %rearranged in decending order
index = flipud( index ); %rearranged corresponding indies also
%Now rearrange eigenvectors in the order of rearranged eigen values
evector( :, 1:nof ) = evector ( :, index );
smallest_evalue = (1/100) * sorted_evalue(0); % to obtain the effective eigen values
for i = 1:nof
if (sorted_evalue(i) < smallest_evalue )
break;
end
evalue = [ ];
end
index = i+1;

Best Answer

The error is du to sorted_evalue(0). In Matlab the indices begin at 1, the 0 is not allowed