Using for loops in referencing

1 次查看(过去 30 天)
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 个评论
Guillaume
Guillaume 2019-7-18
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.

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2019-7-18
编辑:Guillaume 2019-7-19
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 个评论
Guillaume
Guillaume 2019-7-19
Thanks, Andrei. Fixed now.
Lui
Lui 2019-7-20
Thank you so much. This works

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by