Create a For Loop

6 views (last 30 days)
Ivy Shen
Ivy Shen on 12 Sep 2018
Commented: Ivy Shen on 15 Sep 2018
Hi, the task is that:
S0 = 0;
S1 = S0+p1-q1-e1;
S2 = S1+p2-q2-e2;
and so on
p,q,and e are all known. I tried to write a for loop for it as following:
for i = 1:121
S(i) = S(i-1)+p(i)-q(i)-e(i);
S = S(i);
end
but S(i-1) gives S(0) which is not allowed in matlab.
Can anyone give me some advice on how to modify it to make it work?
Thank you!

Accepted Answer

James Tursa
James Tursa on 12 Sep 2018
Edited: James Tursa on 12 Sep 2018
Simply adjust your expectations of how to use indexing. E.g., let
S(1) mean the same thing as S0
S(2) mean the same thing as S1
etc
Then just adjust your indexing:
S(1) = 0;
for i = 2:122
S(i) = S(i-1)+p(i)-q(i)-e(i);
end
Or, if the indexing of the p, q, e vectors already started at 1, then maybe this variation will work for you:
S(1) = 0;
for i = 2:122
S(i) = S(i-1)+p(i-1)-q(i-1)-e(i-1);
end

More Answers (0)

Categories

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

Tags

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!