MATLAB Answers

0

Create a For Loop

Asked by Ivy Shen on 12 Sep 2018
Latest activity Commented on by 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!

  0 Comments

Sign in to comment.

Tags

Products


Release

R2016b

1 Answer

James Tursa
Answer by James Tursa
on 12 Sep 2018
Edited by James Tursa
on 12 Sep 2018
 Accepted Answer

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

  1 Comment

Ivy Shen on 15 Sep 2018
Thank you very much!

Sign in to comment.