F1_batt_till_P19 = zeros(8760,length(Effekt));
F1_Elkons_batt = zeros(8760,length(Effekt));
F1_batterilast_tot = zeros(8760,length(Effekt));
F1_elkonsum = [];
for k = 1: length(Effekt)
F1_last_batt = 0;
batterikapacitet = Kapacitet(k);
batterikapacitet_min = batterikapacitet * SOC_low/100;
batterikapacitet_max = batterikapacitet *SOC_high/100;
F1_last_batt = batterikapacitet_min;
for i = 1:12
mon = [31,28,31,30,31,30,31,31,30,31,30,31];
slut = mon(i)*24;
medel_kons = mean(Elkons_months_eft(1:slut, i));
for m = 1:slut
if Elkons_months_eft(m,i) > medel_kons
topp = Elkons_months_eft(m,i) - medel_kons;
if F1_last_batt > batterikapacitet_min
if (F1_last_batt - Effekt(k)) >= batterikapacitet_min
if topp >= Effekt(k)
F1_batt_till_P19( (24*sum(mon(1:i-1)) + m) ,k) = Effekt(k);
F1_last_batt = F1_last_batt - Effekt(k);
else
F1_batt_till_P19((24*sum(mon(1:i-1)) + m) ,k) = topp;
F1_last_batt = F1_last_batt - topp;
end
else
liten_effekt = F1_last_batt - batterikapacitet_min;
if topp >= liten_effekt
F1_batt_till_P19((24*sum(mon(1:i-1)) + m) , k) = liten_effekt;
F1_last_batt = F1_last_batt - liten_effekt;
else
F1_batt_till_P19( (24*sum(mon(1:i-1)) + m) ,k) = topp;
F1_last_batt = F1_last_batt - topp;
end
end
end
elseif Elkons_months_eft(m,i) < medel_kons
if F1_last_batt < batterikapacitet_max
if (F1_last_batt + Effekt(k)) <= batterikapacitet_max
if (Elkons_months_eft(m,i) + Effekt(k)) <= medel_kons
F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = Effekt(k);
F1_last_batt = F1_last_batt + Effekt(k);
else
till_medel = medel_kons - Elkons_months_eft(m,i);
F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = till_medel;
F1_last_batt = F1_last_batt + till_medel;
end
else
plats = batterikapacitet_max - F1_last_batt;
if (Elkons_months_eft(m,i) + plats) <= medel_kons
F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = plats;
F1_last_batt = F1_last_batt + plats;
else
till_medel = medel_kons - Elkons_months_eft(m,i);
F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = till_medel;
F1_last_batt = F1_last_batt + till_medel;
end
end
end
elseif Elkons_months_eft(m,i) == medel_kons
end
F1_batterilast_tot((24*sum(mon(1:i-1)) + m),k) = F1_last_batt;
end
end
for p = 0:(8760-1)
if F1_last_batt > batterikapacitet_min
over = F1_last_batt - batterikapacitet_min;
if F1_Elkons_batt(end-p,k) >= over
F1_Elkons_batt(end-p,k) = F1_Elkons_batt(end-p,k) - over;
F1_last_batt = batterikapacitet_min;
F1_batterilast_tot(end-p,k) = batterikapacitet_min;
elseif F1_Elkons_batt(end-p,k) < over
F1_last_batt = F1_last_batt - F1_Elkons_batt(end-p,k);
F1_batterilast_tot(end-p,k) = batterikapacitet_min;
F1_Elkons_batt(end-p,k) = 0;
end
end
end
end
F1_elkonsum_sum =[];
F1_batt_till_P19_sum =[];
F1_Elkons_batt_sum = [];
F1_effekttopp_medel_year = [];
for v = 1:length(Effekt)
F1_elkonsum(:,v) = (Elkonsumtion_eft(:,1) - F1_batt_till_P19(:,v)) + F1_Elkons_batt(:,v);
F1_elkonsum_sum(v) = sum(F1_elkonsum(:,v));
F1_batt_till_P19_sum(v) = sum(F1_batt_till_P19(:,v));
F1_Elkons_batt_sum(v) = sum(F1_Elkons_batt(:,v));
end
F1_effekttopp_months = zeros(12,length(Effekt));
mon = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
for b = 1:12
F1_effekttopp_months(b,:) = max(F1_elkonsum( (24*sum(mon(1:b-1)) + 1) : 24*sum(mon(1:b)) , : ) );
end
for v = 1:length(Effekt)
F1_effekttopp_medel_year(v) = mean(F1_effekttopp_months(:,v));
end