本文主要是介绍电动汽车充放电V2G模型MATLAB代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
微❤关注“电气仔推送”获得资料(专享优惠)
主要内容:
本程序主要建立电动汽车充放电V2G模型,采用粒子群算法,在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的消纳供给商场基础负荷剩余的光伏电量,根据光伏出力与工作区负荷的偏差制定动态分时电价模型,从而减少峰谷差,保障电网稳定性,同时能够提高电动汽车用户的充放电满意度,实现双赢。配电网负荷方差最小目标函数包含了工作区常规负荷、光伏出力及电动汽车的充放电电量,应用了电动汽车源-荷二重性。附有建模说明!!!!
部分代码:
MaxIt=300; % Maximum Number of Iterations
nPop=250; % Population Size (Swarm Size)
[all_load]=xlsread('data','Sheet1','b2:d20');%负荷
PV_load=all_load(:,1)*1;%光伏负荷
Power_load=all_load(:,2)*1;%用电负荷
[car_data]=xlsread('data','Sheet1','e2:h51');%无序负荷
% [load_car,car_start,car_leave,car_soc ]= c_car_load(car_number);%电动汽车无序负荷
load_car=car_data(1:48,4);
EV_load=load_car(14:32);%电动汽车无序负荷
car_start =car_data(:,1);
car_leave=car_data(:,2);
car_soc=car_data(:,3)-0.1;
soc_end=soc_endzi();
car_in=car_start;
car_off=car_leave;
%% 确定变量
for i=1:car_number
car_in(i)=fix(car_start(i)/30);
car_off(i)=fix(car_leave(i)/30);
end
diaodu_carin=[];%可调度
diaodu_caroff=[];%可调度
diaodu_soc=[];%可调度
diaodu_socend=[];
jishu=0;%可调度
diaodu_carin_=[];%bu可调度
diaodu_caroff_=[];%bu可调度
diaodu_soc_=[];%bu可调度
diaodu_socend_=[];
jishu_=0;%bu可调度
输出结果:
由图可知:
光伏发电在中午的时候达到顶峰,但是工作区的用电高峰在早上和下午,无序模式下电动汽车进入工作区后基本都集中在早上充电,所以对电网的冲击较大,影响电网的稳定性;有序模式下电动汽车中午充电量较无序要多,且电动在上午和下午负荷高峰时刻进行放电,缓解电网负荷陡增的压力。
这篇关于电动汽车充放电V2G模型MATLAB代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!