"Index in position 1 exceeds array bounds" error for loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to determine if there is a change in sign between the current and next value in my array (size is 2000 x 131) and count the number of times there is a change using a for loop as shown in the following code. The error lies in line "nextVal = brakingData(j+1,k)". I can't understand why this is an error. Why is the inital value of j 2000 when I run the loop? Shouldn't it be 1? How do I go about solving this error?
for k = 1:size(brakingData,2) %131
zeroCrossCount = 0;
for j = 1:length(brakingData) %2000
currentVal = brakingData(j,k);
nextVal = brakingData(j+1,k);
if ~isequal(sign(currentVal), sign(nextVal))
zeroCrossCount = zeroCrossCount + 1;
else
zeroCrossCount = zeroCrossCount + 0;
end
end
brakingFreqValue = zeroCrossCount/20;
brakingFreq(:,k) = brakingFreqValue;
end
0 commentaires
Voir également
Catégories
En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!