Using for loops in referencing

2 views (last 30 days)
Lui
Lui on 18 Jul 2019
Commented: Lui on 20 Jul 2019
Hello everyone
I would like to create new datasets separately through a for loop.
for n=0:5:40
netload'n'=Y-n.*Koutput
end
% the results should give me nine outputs which would be somethig like
netload0=Y-0.*Koutput
netload5=Y-5.*Koutput
"" + ...
""
netload40=Y-40.*Koutput
How can I execute that using a for loop?
Thank you.
  1 Comment
Guillaume
Guillaume on 18 Jul 2019
You should never create numbered, or sequentially named, variables. Embedding any form of indexing in the variable name is always a bad design. See Tutorial: Why Variables Should Not Be Named Dynamically for more details.

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 18 Jul 2019
Edited: Guillaume on 19 Jul 2019
You don't even need a loop to perform your calculation:
n = permute(0:5:40, [1, 3, 2]); %create a vector 0:5:40 in the 3rd dimension
netload = Y - n .* Koutput; %create a 8760 x 42 x numel(n) matrix
netload(:, :, 1) corresponds to n = 0, netload(:, :, 2) corresponds to n = 5, etc.
  5 Comments
Guillaume
Guillaume on 19 Jul 2019
Thanks, Andrei. Fixed now.
Lui
Lui on 20 Jul 2019
Thank you so much. This works

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!