Use same algorithm for different data
1 次查看(过去 30 天)
显示 更早的评论
Good morning people,
I have a big algorithm and I would like to use different data without having to repeat the algorithm (for and if loops) many times. Any idea how?
I am pasting some part of my code as an example:
if j==1
Tin(j)=20;
Con(j) = H1(j)+Qel(j)*u(j);
NL_(j) = Con(j) - PV1(j);
Terr(j)=Ts(j)-Tin(j);
u(j)=0;
SOC(j)=0.5;
if Terr(j)>=1
u(j)=1;
end
end
I would like to change H1 for H2, H3,... Hn, as well as PV1, PV2,... PVn
1 个评论
Mathieu NOE
2021-1-7
hi
your code should be declared as a function and then you pass the arguments, and do loops for differents inputs
see matalb doc about how to create functions
采纳的回答
Rik
2021-1-7
The source of your problem is that you chose to put data (i.e. the counter) in the variable name.
You should consider storing H1-Hn in a cell array (or normal array) so you can trivially loop over them.
%don't use this, but make sure to do something like this when the data is created
H={H1,H2,H3};PV={PV1,PV2,PV3};
for n=1:numel(H)
if j==1
Tin(j)=20;
Con(j) = H{n}(j)+Qel(j)*u(j);
NL_(j) = Con(j) - PV{n}(j);
Terr(j)=Ts(j)-Tin(j);
u(j)=0;
SOC(j)=0.5;
if Terr(j)>=1
u(j)=1;
end
end
end
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!