蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)

目录

1 概述

2 运行结果

3 参考文献

‍4 Matlab代码实现


1 概述

     伴随环境问题的影响,以及电动汽车技术的不断成熟,电动汽车对电网影呵不断增加。电下1左此放电过程中不但可能导致局部过负荷回题,旦住此过程中产生的谐波污染会影啊电网电能的贝里TL及时准确地把握电动汽车的负荷需求对电刀系统运仃和规划具有重要的意义。

     电动汽车充电负荷预测的重点研究对象是预测技术的选择,如今有单耗法、灰色模型、时间序列、专家系统等方法,包括优化组合分析的电刀系统贝何从圳2等。电动汽车的位置不明确,且允电时同名到心机的影响等﹐都会造成电动汽车充、换电站的负荷产生一定的时变性,运用之前的传统方法,无法预测或是表达其复杂的非线性特点。所以考虑运用先进的蒙特卡洛模拟法,对数据进行挖掘、处理、分析,对不确定的因素进行处理,总结出相应的分布规律,并提出相应的﹑科学合理的预测法。

2 运行结果

%% 初始化设置
Ps=[6 15];%私家车,常规充电为6kW,快速充电为15k
Pg=80;  %公交车常规充电80kW
Pc=32;  %出租车快速充电32kW
N1=547400;  %私家车保有量
N2=3500;  %公交车保有量
N3=8200;  %出租车保有量
N=10;   %迭代次数,可自行修改
dm=[180;200;300]; %三种汽车类型最大里程私家车=180km,公交车=200km,出租车=300km
Wm=[40;300;60]; %三种汽车类型动力电池容量私家车=40k Wh,公交车=300k Wh,出租车-60kWh
P=zeros(N,1440);
Ps1=zeros(N,1440);
Pg1=zeros(N,1440);
Pc1=zeros(N,1440);
soc1=zeros(1,N1);
soc2=zeros(1,N2);
soc3=zeros(1,N3);

由于时间关系,只迭代了10次:

for k=1:1440 %(4-5)

P(n,k)=P(n,k)+Pt1(k)+Pt2(k)+Pt3(k); %总负荷预测功率 Ps1(n,k)=Ps1(n,k)+Pt1(k); %私家车预测功率 Pg1(n,k)=Pg1(n,k)+Pt2(k); %公交车预测功率 Pc1(n,k)=Pc1(n,k)+Pt3(k); %出租车预测功率

私家车、出租车、公交车都考虑了,运行结果如下:

蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第1张图片

 蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第2张图片

蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第3张图片 蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第4张图片

 蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第5张图片

 蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第6张图片

方法2:

蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)_第7张图片

部分代码:

 %% 公交车负荷预测
    Pt2=zeros(1,1440);
    for i=1:1:N2
        dg=unifrnd(150,200,1,1);  %日行驶里程数
        %% ========上下限限制======
        if(dg>=200)
            dg=200;
        end
        if (dg<-0)
            dg=0;
        end
        soc2=1-(dg./dm(2));
        tg1=(1-soc1).*300*60/Pg;
        tg1=round(tg1);
        tg2=unifrnd(1,1440,1,1);
        tg2=round(tg2);
        kg=tg1+tg2;
        if (kg>1440)
            kg=kg-1440;
            Pt2(1:kg)=Pt2(1:kg)+Pg;
            Pt2(tg2:1440)=Pt2(tg2:1440)+Pg;
        else
            Pt2(tg2:kg)=Pt2(tg2:kg)+Pg;
        end
        Pt2(1:1440)=Pt2(1:1440);
    end
    %% ========结束==========
    
    %% 出租车负荷预测
    Pt3=zeros(1,1440);
    for i=1:1:N3
        %% =======时间0:00-14:00,第一次充电========
        dc=normrnd(275,15,1,1);
        if(dc>=300)
            dc=300;
        end
        if(dc<=0)
            dc=0;
        end
        soc3=1-dc./dm(3);
        tc1=(1-soc3).*60*60/Pc;tcl=round(tc1);
        tc2=normrnd(420,100,1,1);tc2=round(tc2);
        if(tc2<=1)
            tc2=1;
        end 

完整代码:

链接:https://pan.baidu.com/s/1btcGuezpRs_ZedDyngEWUQ 
提取码:yrs1 
--来自百度网盘超级会员V2的分享

3 参考文献

[1]乔文娟.基于蒙特卡洛模拟的电动汽车充电负荷预测[J].华电技术,2018,40(06):19-22+77.

[2]庞培川,曾成,杨彪,张谦.蒙特卡洛模拟法计算电动汽车充电负荷[J].通信电源技术,2016,33(01):155-158.DOI:10.19399/j.cnki.tpt.2016.01.060.

‍4 Matlab代码实现

 

 

你可能感兴趣的:(电气工程,matlab,开发语言,1024程序员节)