How do I code this for loop?

1 Ansicht (letzte 30 Tage)
JM321
JM321 am 11 Jun. 2021
Kommentiert: JM321 am 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

Akzeptierte Antwort

DGM
DGM am 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 Kommentar
JM321
JM321 am 11 Jun. 2021
Forgot to add the 1 to make it index1, thanks for your help

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by