summation using while loop until I get a certain value
이전 댓글 표시
hello,I am asked to sum the elements of an array until I get a certain value. I used the while loop but when I run the code it says that index exceeds matrix dimensions. Here is my code,
A=[3 4 10 3 9 10 12 4 11 9 11 10];
sum=0;
k=1:length(A);
while sum<43
sum=sum+A(k);
k=k+1;
end
disp(sum);
disp(k);
what could be the problem with this code? thanks...
댓글 수: 1
Note that you should not call your variable sum, as this is the name of the inbuilt and very important function sum. When you define a variable/function named sum, it shadows the inbuilt function and stops it from working. This will break a lot of code!
답변 (2개)
Stephen23
2015년 11월 15일
This is much easier without any loops:
>> N = 43;
>> A = [3,4,10,3,9,10,12,4,11,9,11,10];
>> B = cumsum(A);
>> C = B(B<N);
>> C(end)
ans =
39
Andrei Bobrov
2015년 11월 15일
A=[3 4 10 3 9 10 12 4 11 9 11 10];
sum1=0;
k=1;
while sum1<43
sum1=sum1+A(k);
k=k+1;
end
disp(sum1);
disp(k);
댓글 수: 2
dilara ozbay
2015년 11월 15일
Andrei Bobrov
2015년 11월 16일
A=[3 4 10 3 9 10 12 4 11 9 11 10];
sum1=0;
k=1;
s = [];
while sum1 < 43
s =sum1;
sum1=sum1+A(k);
k=k+1;
end
disp(s);
disp(k-1);
카테고리
도움말 센터 및 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!