Effacer les filtres
Effacer les filtres

Why does the Index exceeds the number of array elements

1 vue (au cours des 30 derniers jours)
Wilfredo Huaman
Wilfredo Huaman le 14 Juin 2019
Commenté : Wilfredo Huaman le 14 Juin 2019
Im trying to run through total Force which is a 921x1 Double and check if the next value in that array is larger or greater if larger i want to subtract 0.01 from c and if smaller I want to add 0.01 to c and c starts at zero. Why does it exceed the index? Any Help would be greatly Appreciated Thanks!
for j = 1:length(TotalForce)
if j <= length(TotalForce)
if TotalForce(j) >= TotalForce(j+1)
c = c + 0.01 ;
elseif TotalForce(j) <= TotalForce(j+1)
c = c - 0.01 ;
end
end
end

Réponse acceptée

Geoff Hayes
Geoff Hayes le 14 Juin 2019
Wilfredo - take a look at these lines
for j = 1:length(TotalForce)
if j <= length(TotalForce)
if TotalForce(j) >= TotalForce(j+1)
If j happens to be the length of the TotalForce array, then j+1 will be an invalid index into your array. Try doing something like
for j = 1:length(TotalForce)-1
if TotalForce(j) >= TotalForce(j+1)
c = c + 0.01 ;
else
c = c - 0.01 ;
end
end

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by