Why does the Index exceeds the number of array elements
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
0 commentaires
Réponse acceptée
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)
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!