Why does this loop create a horizontal array instead of a vertical array?
조회 수: 7 (최근 30일)
이전 댓글 표시
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
채택된 답변
추가 답변 (1개)
Sachin Ganjare
2012년 10월 23일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!