如何在特定范围内累计减法

时间:2018-09-21 11:09:58

标签: matlab

我该如何调整for循环,以便每次曲线超过最大容量且为负值时(请参见一些示例,如箭头所示),这些值将累计减去容量(请参见黑色曲线) 。使用我的代码,我只能在一点上计算差异,而对实际容量没有影响...您可以在下面找到我的代码。 needed curve

C=cumsum(diffE,'omitnan'); % needed Capacity 
Cbmax= 1000; % in MWH, max. capacity of the battery storage
Cbmin= 100; % in MWh, deep charge border 
imax= C>=Cbmax-Cbmin; % find where C is larger than Cbmax
imin= C<=Cbmin-Cbmin; % find where C is smaller than Cbmin
C(imax) = Cbmax-Cbmin; % if C is larger than Cbmax: C=Cbmax
C(imin) = Cbmin-Cbmin; % if C is smaller than Cbmin: C=Cbmin 
Cres=cumsum(diffE,'omitnan');
for k=1:length(Cres)-1
    if Cres(k)>Cbmax && Cres(k)>Cres(k+1)
           C(k+1)=C(k)-(Cres(k)-Cres(k+1));      
        end
    end  
end

0 个答案:

没有答案