开源代码分享(20)-基于蒙特卡洛抽样的电动汽车充电负荷计算

参考文献:

《主动配电网多源协同运行优化研究_乔珊》第3.2节

1.基本原理

        电动汽车大规模入网充电时会导致系统内负载峰值拔高的问题,和分布式电源一样,都会对电网的安全稳定运行造成冲击,需要在满足系统运行经济效益最优的同时,尽量降低大量电动汽车入网无序充电对系统造成的不良影响。

1.1日行驶里程概率分布

        考虑到目前电动汽车为较新型的交通工具,其样本数量与传统燃油车相比仍较少,本文假设电动汽车用户与普通燃油汽车用户的用车习惯一致,对家用汽车使用行为规律的数据进行处理,得出日行驶里程服从对数正态分布,即S ~ Log-N(us,δs),其概率密度函数如式(3-18)所示:

        可以得出普通家用电动汽车的日行驶里程概率分布图如图3-2所示。

        假设电动汽车每次出行前均为满电状态,在求出电动汽车的日行驶里程概率分布后,可以求出最后一次出行返回时刻的电池荷电状态的概率分布。

1.2起始充电时间概率分布

        电动汽车返回时刻t服从正态分布,其概率密度函数为式(3-19):

        可以得出起始充电时刻的概率分布图如图3-3所示。

1.3充电功率概率分布

        电动汽车的充电过程属于常规慢速充电,匀速充电时间较长,相比之下,充电行为呈现非匀速的起始充电阶段和结束阶段在整个充电过程中所占比例极低,因此在研究过程中进行简化处理,忽略起始和结束阶段对整体计算的影响,在时间-功率直角坐标轴下简化为一条水平直线,电动汽车充放电过程的简化示意图如图3-4所示。

1.4电池容量的概率分布

        目前市面上电动汽车电池容量有着一定的差异,由统计数据可知大多数的电动汽车电池容量分布在20-30kW·h之间,为方便后续计算,选取20-30kW·h范围中的均匀分布来表示不同的电池容量,概率密度函数为式(3-20):

1.5基于蒙特卡洛抽样的电动汽车充电负荷计算

        基于蒙特卡洛随机抽样的电动汽车充电负荷计算流程图如图3-5所示。

        研究过程中假设电动汽车各自的充电行为具有独立性的特征,每台电动汽车的电池容量、日行驶里程、起始充电时刻等都独立,表现为在已知概率分布图中随机分布的形式,因此,可以进行蒙特卡洛随机抽样来抽取每个步骤中的随机数,从而求取单台电动汽车的充电负荷特征,累加得出大规模电动汽车入网充电时的进行无序充电时的总充电负荷曲线。
        本文选取100、700、2000辆电动汽车进行随机抽样的分析计算,研究电动汽车用户自主充电场景下的充电负荷,得出一-个调度周期内,不同规模电动汽车进行无序自主充电的日负荷曲线如图3-6所示。

        从图3-6中可以看出,电动汽车的充电日负荷曲线呈现出明显的时间峰谷特性,在16:00-24:00大量电动汽车进行充电,系统负载量达到峰值;而在6:00-10:00之间,负荷充电需求最低,这与用户群体的生活习惯有着密切关联。电动汽车充电日负荷曲线的峰谷差值极大,对电网稳定运行提出了挑战,若不对其加以调度,会致使系统中出现较大的功率波动,影响其它用电设备的正常使用,所以要将电动汽车纳入优化调度范围,减少由于其充电时较强的时间峰谷特性而对电网造成的冲击。

2.运行结果

3.matlab代码获取

开源代码分享(20)-基于蒙特卡洛抽样的电动汽车充电负荷计算的matlab代码资源-CSDN文库

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于蒙特卡洛抽样电动汽车充电负荷计算matlab代码如下: 1. 首先,我们需要定义相关参数,包括电动汽车数量(N),每辆汽车的电池容量(C),每辆汽车的剩余电量(S),每辆汽车的充电速度(V),充电桩的数量(M),每个充电桩的充电速度(D)等。 2. 创建一个循环,对于每辆汽车进行充电负荷计算。 3. 在循环里,首先生成一个0到1之间的随机数,表示当前汽车需要充电的百分比(P)。假设当前剩余电量为S,需要充电的百分比为P,那么需要充电的电量为P*C*S。 4. 接下来,计算每个充电桩的充电时间。生成一个0到1之间的随机数,表示充电桩的工作负载(L)。假设充电桩的充电速度为D,充电时间为T,那么T = (P*C*S) / (L * D)。 5. 将充电时间T加入到一个数组中,表示每辆汽车的充电时间。 6. 循环结束后,计算所有充电时间的平均值,得到电动汽车充电负荷的结果。 7. 代码如下: ```matlab N = 100; % 电动汽车数量 C = 60; % 每辆汽车的电池容量 S = ones(1, N) * 0.5; % 每辆汽车的剩余电量 V = 1; % 每辆汽车的充电速度 M = 10; % 充电桩的数量 D = 2; % 每个充电桩的充电速度 charge_time = zeros(1, N); % 存储每辆汽车的充电时间 for i = 1:N P = rand(); % 当前汽车需要充电的百分比 charge_amount = P * C * S(i); % 需要充电的电量 L = rand(); % 充电桩的工作负载 T = charge_amount / (L * D); % 充电时间 charge_time(i) = T; % 存储充电时间 end average_charge_time = mean(charge_time); % 计算平均充电时间 disp(['电动汽车充电负荷的平均充电时间为:', num2str(average_charge_time)]); ``` 注意:上述代码仅为基于蒙特卡洛抽样电动汽车充电负荷计算的一个简单示例,具体计算方式和参数设置应根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值