• 蒙特卡洛模拟法计算电动汽车充电负荷(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代码实现

  • 相关阅读:
    Java—类加载的基本机制和过程
    HybrIK流程
    目标检测YOLO实战应用案例100讲-基于改进的YOLOV5算法的垃圾分类模型
    spring-security-oauth2(授权模式入门简单使用)
    Tuna: Instruction Tuning using Feedback from Large Language Models
    以数据赋能,星辰天合推进智慧化校园建设
    F#奇妙游(31):数据缺失的处理
    Html关于worker的使用
    深度学习入门(9)神经网络Affine与Softmax层的计算图表示方式及其误差反向传播的代码实现
    C++中的对象切割(Object slicing)问题
  • 原文地址:https://blog.csdn.net/m0_73907476/article/details/127522942