How to subtract the elements of an array
조회 수: 14 (최근 30일)
이전 댓글 표시
Hello,
I am coding an .m file in MATLAB R2018a. The code I have (partial) is:
nt=[8,17,22,25]'
for i=1:3
grad(i)=nt(i+1)-nt(i)
end
sumgrad=sum(grad)
As you can see, I am trying to subtract the 2nd element of the array is subtracted to the 1st and place it on the index 1 of the array grad(i). . Then, the 3rd element of the array is subtracted to the 2nd and place it on the index 2 of the array grad(i). By last, the 4th element of the array to the 3rd and place it on the index 3 of the array grad(i)
Then, all the elements of the array grad(i) are sum into the variable sumgrad.
I am getting this error:
Error: Index exceeds array bounds.
I am quite sure there is a better way of coding this. Could someone help me?
Best regards,
Hugo
댓글 수: 0
채택된 답변
Ameer Hamza
2020년 9월 10일
Although your code seems correct and the error shouldn't occur, you can directly use diff() function and avoid the for-loop
nt=[8,17,22,25]';
grad = diff(nt);
sumgrad=sum(grad)
추가 답변 (1개)
Matt J
2020년 9월 10일
편집: Matt J
2020년 9월 10일
At which line does the error occur?The only thing I can think of is that you accidentally have a variable called "sum" previously defined in your workspace, e.g.,
sum=0;
nt=[8,17,22,25]'
for i=1:3
grad(i)=nt(i+1)-nt(i)
end
sumgrad=sum(grad)
Index exceeds the number of array elements (1).
Error in test (line 11)
sumgrad=sum(grad);
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 NaNs에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!