How do I get a loop that takes a sum to store each value in a vector?

3 views (last 30 days)
Hey Matlab community, y'all have been very helpful. I got another one for ya. I have a potential formula that takes the sum of series I made. What I want is each sum to be stored in a vector after each iteration, so that I can plot it. heres my code. Also I think it requires an empty vector of correct dimensions such as zeros(blah,blah) but I must have done it wrong because it returns empty
sumv=0;
n=0;
an=0;
for k=1:120
an=.68+sumv-(.68+sumv).*.0693;
sumv=an;
end
Your help and suggestions are greatly appreciated

Accepted Answer

Star Strider
Star Strider on 5 Aug 2014
Edited: Star Strider on 5 Aug 2014
If you want the value of sumv stored at each iteration of your k loop, index it to create a vector from it:
sumv(1)=0;
n=0;
an=0;
for k=1:120
an=.68+sumv(k)-(.68+sumv(k)).*.0693;
sumv(k+1)=an;
end
figure(1)
plot(sumv)
grid
You could preallocate by putting:
sumv = zeros(1,121);
in place of:
sumv(1)=0;
That’s good programming practice, but here it likely doesn’t make much of a difference in terms of speeding up your loop. I decided to keep with your original construction rather than preallocate.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!