How to sum an array using a while loop?

1 Ansicht (letzte 30 Tage)
Christian
Christian am 2 Nov. 2014
Kommentiert: Star Strider am 3 Nov. 2014
So I have been attempting to add a 9 element 1x1 array using the while loop. I have failed miserably for over 3 hours. I attempted to use:
x=1:length(array)
sumx2=0
while sumx2<sum(array)
sumx2=sumx2+x(array)
end
at times I get numbers increasing on Matlab and they don't stop. Will you be kind enough to share your knowledge? Thank you in advance.

Antworten (1)

Star Strider
Star Strider am 2 Nov. 2014
I didn’t want to disrupt your code too much, but I had to do some editing:
array = rand(1,9); % Test Array
x=1:length(array); % You probably Don’t Need This
sumx2=0
k = 1; % Add Counter Variable
while k <= length(array)
sumx2=sumx2+array(k); % Add Element Of ‘array’ to ‘sum2’
k = k+1; % Increment Counter
end
You were on the correct track, but weren’t implementing your idea correctly. You need to address each element of ‘array’ individually to add it incrementally to ‘sum2’.
  2 Kommentare
Christian
Christian am 3 Nov. 2014
Thank you!
Well I solved my problem actually haha. What I did was:
N=numel(x)
i=0
sumx2=0
while i<N
i=i+1
sumx2=sumx2+x(i)
end
So that's what I did and it worked! Is this a different method? Thanks!
Star Strider
Star Strider am 3 Nov. 2014
My pleasure!
It’s a different method, yes, and is probably as efficient as my code.
If you’re just getting started with programming, you’ll find that with the exception of the very simplest programs, there are a number of different ways of solving the same problem. Speed of execution is usually the criterion for deciding the ‘best’ method, but such things as memory utilisation can also be the deciding factor.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by