Why does this loop create a horizontal array instead of a vertical array?
12 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I know this may seem a really simple question but I just can't seem to work this one out when consulting the manual.
Within my code I have the following loop to work out the difference between sensor readings:
for i = 1 : size(xVal)
df([i]) = yVal(i+1) - yVal(i);
End
xVal is a line number and yVal is a sensor reading.
But for some reason, rather than creating a vertical array of difference values, a horizontal array is created and before it is complete MATLAB throws up an error stating "Index exceeds matrix dimensions" (I assume this error is because the horizontal array goes beyond a value MATLAB can handle.)
How can I change this loop so that a vertical array is created? (I also assume that this would overcome the "Index exceeds matrix dimensions" error?)
Any help is greatly appreciated.
0 Commenti
Risposta accettata
Più risposte (1)
Sachin Ganjare
il 23 Ott 2012
Probably you have preallocated array df as maybe zeros(x,1). It should be:
df = zeros(1,x);
x is number of elements in array df
Hope it helps!!!
0 Commenti
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!