蒙特卡洛模拟法计算电动汽车充电负荷(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); %出租车预测功率

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

 

 

 

 

方法2:

部分代码:

 %% 公交车负荷预测
    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代码实现

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值