0.75function [GridS] = FeederBattSolar(BatterySize,std_range,SolarFactor) load('Feeder.mat', 'Feeder') load('FeederSolar.mat') load('AllData.mat', 'AllData') Feeder=AllData(:,[40:94]); Feeder=cell2mat(Feeder); Feeder=sum(Feeder,2); Feeder_PowerS=Feeder-FeederSolar*SolarFactor; %Feeder_PowerWS=Feeder*2; Feeder_BatS=zeros(length(Feeder_PowerS), 1); Mov_Avg_Day= tsmovavg(Feeder_PowerS, 's' , 48, 1); %Mov_Avg_Hour= tsmovavg(Feeder_PowerS, 's' , 8, 1); std_day=zeros(length(Feeder_PowerS),1); for i= 1:length(Feeder_PowerS) if i<49 std_day(i)=0; else std_day(i)=std(Feeder_PowerS(i-48:i)); end end Dispatch=Mov_Avg_Day + std_day/std_range; Charge=Mov_Avg_Day-std_day/std_range; lostcap=zeros(length(Feeder_PowerS),1); k=0; for z = 1:length(Feeder_PowerS) if Feeder_PowerS(z) > Dispatch(z) && sum(Feeder_BatS) > 0 %+ sum(lostcap) if (sum(Feeder_BatS) - Feeder_PowerS(z) + Dispatch(z)) < 0.2*BatterySize Feeder_BatS(z) = 0.2*BatterySize - sum(Feeder_BatS); else Feeder_BatS(z)= (Dispatch(z) - Feeder_PowerS(z));%*((Dispatch(z) - Feeder_PowerS(z))/BatterySize)^k; %lostcap(z)= - (Dispatch(z) - Feeder_PowerS(z)) + ((Dispatch(z) - Feeder_PowerS(z))*((Dispatch(z) - Feeder_PowerS(z))/BatterySize)^k); end elseif Feeder_PowerS(z) < Charge(z) && sum(Feeder_BatS) < 0.8*BatterySize if (sum(Feeder_BatS) - Feeder_PowerS(z) + Charge(z)) > 0.8*BatterySize Feeder_BatS(z) = (BatterySize*0.8 - sum(Feeder_BatS)); lostcap=zeros(length(Feeder_PowerS),1); else Feeder_BatS(z) = (Charge(z) - Feeder_PowerS(z))*0.8; end end end GridS=Feeder_PowerS + Feeder_BatS; % %stdGridS=std(GridS); % % Peak_Mean_Ratio =zeros(length(Feeder_PowerS),1); % Peak_MRB =zeros(length(Feeder_PowerS),1); % % for i= 1:length(Feeder_PowerS) % if i<49 % Peak_Mean_Ratio(i)=0; % Peak_MRB(i)=0; % else % Peak_Mean_Ratio(i)=max(GridS(i-48:i))/mean(GridS(i-48:i)); % Peak_MRB(i)=max(Feeder_PowerS(i-48:i))/mean(Feeder_PowerS(i-48:i)); % end % end % % PMR_Before=mean(Peak_MRB); % % PMR=mean(Peak_Mean_Ratio); % % Cost_Benefit=(1/BatterySize)*(-PMR+PMR_Before);