(Matlab实现)基于蒙特卡洛模拟的大规模电动车充电模型_电动汽车充电功率模型-程序员宅基地

技术标签: matlab  开发语言  

目录

摘要:

1电动车日行驶里程概率分布:

2.电动车充电起始时间概率分布:

3.大规模电动车充电行为蒙特卡洛建模:

3.1日行驶里程

3.2开始充电时间

3.3耗电量

3.4充电时间

3.5总充电负荷

4.不同规模的电动车的充电负荷曲线对比:

5.仿真程序:


摘要:

电动汽车大规模入网充电时会导致系统内负载峰值拔高的问题,和分布式电源一样,都会对电网的安全稳定运行造成冲击,需要在满足系统运行经济效益最优的同时,尽量降低大量电动汽车入网无序充电对系统造成的不良影响。本文通过蒙特卡洛仿真技术,生成大规模电动车无序充电功率曲线,分析大规模电动车接入对电网造成的影响。

1电动车日行驶里程概率分布:

考虑到目前电动汽车为较新型的交通工具,其样本数量与传统燃油车相比仍较少,本文假设电动汽车用户与普通燃油汽车用户的用车习惯一致,对家用汽车使用行为规律的数据进行处理,得出日行驶里程服从对数正态分布,取均值为3.2,方差为0.88对电动车的日行是里程进行概率描述,具体图像如下:

可以看出,电动车的日行驶里程主要集中在0-80km左右的范围,符合实际情况。

2.电动车充电起始时间概率分布:

电动汽车返回时刻t服从正态分布,取均值为17.6,方差为3.4。具体概率分布表达式如下:

对该概率模型进行采样得到的概率分布图像图下:

从图中可以看出,电动车的主要充电开始时间集中在18点左右,符合实际的情况。

3.大规模电动车充电行为蒙特卡洛建模:

蒙特卡洛的思想如下:

研究过程中假设电动汽车各自的充电行为具有独立性的特征,每台电动汽车的电池容量、日行驶里程、起始充电时刻等都独立,表现为在己知概率分布图中随机分布的形式,因此,可以进行蒙特卡洛随机抽样来抽取每个步骤中的随机数,从而求取单台电动汽车的充电负荷特征,累加得出大规模电动汽车入网充电时的进行无序充电时的总充电负荷曲线。

本文设置电动车台数为1000,对其行驶距离和开始充电时间进行蒙特卡洛模拟,所得结果如下:

3.1日行驶里程

3.2开始充电时间

通过以上两个数值,结合电动车每公里的耗电量,即可计算出电动车需要充电的电量和充电时间。

3.3耗电量

3.4充电时间

3.5总充电负荷

将所有电动车的充电功率情况相加,即可得到所有电动车的总充电负荷曲线:

4.不同规模的电动车的充电负荷曲线对比:

改变程序中电动车的总数量,即可得到不同电动车数量下的充电负荷曲线,从图中可以看出,不同数量的电动车的充电负荷曲线的大致走向都相同。

5.仿真程序:

部分代码:

clc;
clear;
%% 创建电动车基础参数
N = 1000; % 电动车数量
Car.Capcity = 35; % 电动车电池容量
Car.max = 0.9; % 电动车最大荷电容量
Car.min = 0.1; % 电动车最小荷电容量
Car.P = 0.1; % 每公里耗电量
Car.char = 4; % 充电功率/h
%% 电动车日行驶里程概率分布(对数正态分布)
km = Day_Km(N,Car);
%% 起始充电时间概率分布(正态分布)
[time_in,F_in] = Time_IN(N);
%% 蒙特卡洛抽样
[Car_km,Car_in] = MC(N,km,F_in);
%% 充电时间确定
W = Car_km*Car.P; % 耗电量
figure(5)
plot(W,'x');
title('电动车耗电量');
xlabel('电动车编号');
ylabel('电动车耗电量');
T_char = W/Car.char; % 充电时间
figure(6)
plot(T_char,'x');
title('电动车充电时间');
xlabel('电动车编号');
ylabel('电动车充电时间');
%% 生成充电曲线
T_char = round(T_char);
P_char_total = zeros(1,48);
P = zeros(1,48);
for n = 1:N
    start = Car_in(n);
    t = T_char(n);
    P(start:start+t) = Car.char;
    P_char_total = P_char_total+P;
    P = zeros(1,48);
end
P_char_total = P_char_total(1:24)+P_char_total(25:48);
figure(7)
plot(P_char_total);
grid on
title('电动车总充电曲线');
legend('1000辆电动车');
xlabel('时间(h)');
ylabel('功率(kw)');
%% 不同数量的电动车充电曲线对比
load different_number.mat;
figure(8)
plot(PPP(1,:),'k->');
hold on
plot(PPP(2,:),'b-*');
plot(PPP(3,:),'r-o');
hold off
grid on
legend('200辆电动车','500辆电动车','1000辆电动车');
title('电动车总充电曲线');
xlabel('时间(h)');
ylabel('功率(kw)');

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_61181717/article/details/128094122

智能推荐

dfs 遍历二叉树_dfs遍历思想实际上是二叉树-程序员宅基地

文章浏览阅读830次。dfs 遍历二叉树为了更好的理解dfs手写了dfs 遍历二叉树的两种方式方法:一种是采用常用的递归执行另一种是采用循环执行(使用栈来代替递归)二叉树定义class Node { //get set方法省略 private Node leftChild; private Node rightChild; private int data; public Node(int d..._dfs遍历思想实际上是二叉树

手握Synchronized原理搞懂并发编程,阿里面试官:快到碗里来_python synchronized原理-程序员宅基地

文章浏览阅读478次。Synchronized原理简介synchronized想必大家都不陌生,用来解决线程安全问题的利器。同时也是Java高级程序员面试比较常见的面试题。下面会带大家彻底了解synchronized的实现。内容导航什么时候需要用Synchronized synchronized的使用 synchronized的实现原理分析什么时候需要用Synchronized想必大家对synchronized都不陌生,主要作用是在多个线程操作共享数据的时候,保证对共享数据访问的线程安全性。比如在下_python synchronized原理

同为容器,IoC和Docker有啥不同?_部署容器和ioc容器的区别-程序员宅基地

文章浏览阅读1.1w次,点赞87次,收藏121次。Spring中有容器技术,Docker中也有,容器技术中,能学到哪些思想呢?_部署容器和ioc容器的区别

hadoop下载安装_如何下载并安装Hadoop?-程序员宅基地

文章浏览阅读1.4k次。hadoop下载安装In this article, we will, 在本文中,我们将 Download and Install Virtual Box. 下载并安装Virtual Box。 Download and Install Cloudera Virtual Machine (VM) Image. 下载并安装Cloudera虚拟机(VM)映像。 Launch the Cloudera..._电脑如何下载havoado

mysql er分片_MyCat 学习笔记 第十篇.数据分片 之 ER分片-程序员宅基地

文章浏览阅读275次。1 应用场景这篇来说下mycat中自带的er关系分片,所谓er关系分片即可以理解为有关联关系表之间数据分片。类似于订单主表与订单详情表间的分片存储规则。本文所说的er分片分为两种:a. 依据主键进行数据分片,验证发现主表数据保存在第1个datanode中,子表数据根据分片规则存储。b. 依据分片关键字段进行分片,验证发现主表与子表根据分片规则存储,且保存在相同的分片内。接下来,可以下实际配置与数据..._er分片

ARM FP寄存器及frame pointer介绍_framepointer arm-程序员宅基地

文章浏览阅读6k次,点赞2次,收藏6次。理论上来说,ARM的15个通用寄存器是通用的,但实际上并非如此,特别是在过程调用的过程中。PCS(Procedure Call Standard for Arm architecture)就定义了过程调用中,寄存器的特殊用途。Role in the procedure call standardr15 PC The Program Counter.r14 LR The _framepointer arm

随便推点

Android开发小生(四)-程序员宅基地

文章浏览阅读346次。深入探讨Activity

如何开启远程桌面的服务器,如何启用远程服务器 开启服务器的远程桌面控制...-程序员宅基地

文章浏览阅读2.2k次。最近要将项目做重新的服务器上做项目部署。为了方便维护服务器,故需要开启服务器的远程桌面控制。于是就演示下操作的过程,配上图文,更加直观。以下为新版远程桌面的使用教程及效果图:1:打开主界面,主界面简洁大气,以下为效果图:2:服务器添加示例3、为使界面更美观,分辨率、状态检测、批量打开间隔时间等统一在“其他设置键”打开。4、示例之如何修改窗口大小,旧版名称为分辨率设置,新版的窗口设置更加方便,点开“..._服务器怎么开启远程桌面

SendMail 发送邮件_珊秀发送信息发送邮件-程序员宅基地

文章浏览阅读1k次。SendMail 发送邮件using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net.Mail;using System.Data;using CDO;using ADODB;namespace SendMailTest{ class Program { st_珊秀发送信息发送邮件

从旅行商问题讨论量子计算机在生活中的应用_旅游业和量子计算-程序员宅基地

文章浏览阅读960次。现在,要通过量子计算机来解决您生活中的需求了。假设您将会从家出发,然后需要去超市、加油站和五金店,最后回到家里,共有4个目的地点,那么您可以采取六种可行路线方案:家——超市——加油站——五金店——家家——超市——五金店——加油站——家家——加油站——超市——五金店——家家——加油站——五金店——超市——家家——五金店——超市——加油站——家家——五金店——加油站——超市——家但是,这些路线中哪一条是最高效(最短)的路线呢?在数学领域,这被称为旅行商问题(TSP)[1]。 为了更好的解决多个“_旅游业和量子计算

Android仿微信朋友圈10s视频编辑_android视频裁剪代码-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏14次。以前遇到一个需求就是要做一个类似微信朋友圈10s视频上传的功能,因此就需要视频裁剪与压缩,需要做一个类似微信朋友圈视频编辑的页面,就需要将视频按照时间一秒一秒解码成一幅幅的图片,让用户滑动选择。之前在网上找到了一个类似项目用的 MediaMetadataRetriever 来获取视频某一个时间的图片,但是该类在视频分辨率较高时效率低下,体验不好,于是我用NDK集成FFmpeg重新解码,发现_android视频裁剪代码

win10怎么下载python并安装-程序员宅基地

文章浏览阅读508次,点赞2次,收藏2次。win10怎么下载python并安装? 打开浏览器 搜索引擎搜索Python 点击打开官网 ..._win10如何下载python

推荐文章

热门文章

相关标签