Store data from a a loop

i am trying to loop through three variables and store the data from each loop:
for rating=1:3
k=rating+1; %start rating
l=10; %end rating
AAADowngrade=zeros(100,l-k+1,rating);
for i=1:100
for j=k:l
AAADowngrade(i,j-k+1,rating) = sum(tHistorical(rating,j:l,i));
end
end
end
However, the code above only stores data from the final rating (rating =3). The first two tables just have zeros in them.

 Accepted Answer

Walter Roberson
Walter Roberson on 15 Sep 2021
Edited: Walter Roberson on 15 Sep 2021
maxrating = 3;
AAADowngrade = cell(maxrating,1);
l=10; %end rating
for rating = 1 : maxrating
k = rating+1; %start rating
thisAAADowngrade = zeros(100,l-k+1);
for i=1:100
for j=k:l
thisAAADowngrade(i,j-k+1) = sum(tHistorical(rating,j:l,i));
end
end
AAADowngrade{rating} = thisAAADowngrade;
end
You need a cell array because the arrays are not all the same size.

6 Comments

Thanks. I tried pasting in this code and I got the following error:
Unable to perform assignment because brace indexing is not supported for variables of this type.
Error in AST (line 41)
AAADowngrade{rating} = thisAAADowngrade;
You need to include this line before the loop:
AAADowngrade = cell(maxrating);
Corrected.
I tried adding this line (not show if done correctly). The code runs but it only gives me results for the max rating (3). The other tables are blank.
maxrating = 3;
AAADowngrade = cell(maxrating);
l=10; %end rating
for rating = 1 : maxrating
k = rating+1; %start rating
AAADowngrade = zeros(100,l-k+1);
for i=1:100
for j=k:l
thisAAADowngrade(i,j-k+1) = sum(tHistorical(rating,j:l,i));
end
end
AAADowngrade = cell(maxrating);
AAADowngrade{rating} = thisAAADowngrade;
end
no you need to use the version that I corrected
Thanks - I have accepted your repsonse.

Sign in to comment.

More Answers (0)

Categories

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

Products

Release

R2019b

Asked:

RP
on 15 Sep 2021

Commented:

RP
on 15 Sep 2021

Community Treasure Hunt

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

Start Hunting!