22 views (last 30 days)

Hi, I've recently started coding as part of my uni maths course, however I am struggling very much with the learning curve.

I want to know how to sum all the positive numbers up to and including n by using a while loop.

From what I have gathered already I would use in the case of n = 10

s = 0

n = 10

while s < ((n + 1) * n / 2)

N = N + 1

s = s + N

end

disp(s)

What could I do to make this work? Any help would be greatly appreciated,

JESUS DAVID ARIZA ROYETH
on 15 Feb 2020

try it yourself with a for (see documentation)

You can be guided by this example:

s = 0;

k=1;

n = 10 ;

while k <= n

s=s+k;

k=k+1;

end

disp(s)

In the end, the idea is that with practice you can do all this code in a line like this:

n=10

s=sum(1:n)

Turlough Hughes
on 15 Feb 2020

Line 4 is

while k <= n

k <= n is checking if the current value of k is less than or equal to n. If k is less than or equal to n then the condition is true and another iteration of the loop is implemented, if it is false, the loop is terminated.

Every time the loop is iterated, the value of k increases by 1 due to line 6

k = k+1;

It might help you to see the values as the loop progresses by running the following code:

s = 0;

k = 1;

n = 10 ;

while k <= n

fprintf('Iteration Number: %d\n\nValues at start of iteration \nk = %d \ns = %d\n',k,k,s)

s=s+k;

k=k+1;

fprintf('Values at end of iteration \nk = %d \ns = %d\n\n\n',k,s)

end

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## Direct link to this comment

https://fr.mathworks.com/matlabcentral/answers/505673-sum-of-integers-up-to-n-using-a-while-loop#comment_797710

⋮## Direct link to this comment

https://fr.mathworks.com/matlabcentral/answers/505673-sum-of-integers-up-to-n-using-a-while-loop#comment_797710

Sign in to comment.