How do I code this for loop?

1 view (last 30 days)
JM321
JM321 on 11 Jun 2021
Commented: JM321 on 11 Jun 2021
vd_inc is a matrix where I obtain values from, I then want to store p1-p5 in a matrix.
p1= 0;
p2 = p1+ vd_inc(31);
p3= p2 + vd_inc(30);
p4 = p3+ vd_inc(29);
p5= p4 + vd_inc(28);
This is my attempt, the problem is that p(index) is going up in increments and vd_inc is decreasing, 2 for loops are required?
for index1 = 1:31
index1=1
p(index+1)= p(index)+ vd_inc(index);
end

Accepted Answer

DGM
DGM on 11 Jun 2021
I don't know how you're getting anything out of it, since the index isn't even being used.
You could do this:
vd_inc = 1:100;
p = zeros(1,5);
for index = 1:numel(p)-1
p(index+1)= p(index)+ vd_inc(31-index+1);
end
p
p = 1×5
0 31 61 90 118
but you really don't even need the loop
p = [0 cumsum(vd_inc(31:-1:28))]
p = 1×5
0 31 61 90 118
  1 Comment
JM321
JM321 on 11 Jun 2021
Forgot to add the 1 to make it index1, thanks for your help

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!