基于蒙特卡洛模拟的家用电动汽车充电负荷预测(MATLAB实现)

       采用蒙特卡洛模拟法,对家用电动汽车充电负荷进行预测,电动汽车分为快、中、慢三种充电功率,且分为一天一充、一天两充、一天三充三种类型。全部MATLAB代码在下方给出,可以直接运行。

%%%%%%%%%%%%%%%%%%%%%%%%输入电动汽车相关原始数据%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%以下为各种类型电动汽车数量,
%家用电动汽车数量
Nh=958;%输入总数量 
a1=0.6;a2=0.3;a3=0.1;%设置一充二充三充比例;
Nh1=Nh*a1;Nh2=Nh*a2;Nh3=Nh*a3;%计算各数
Nh1=round(Nh1);Nh2=round(Nh2);Nh3=round(Nh3);
%%%以下为各种类型电动汽车电池容量,暂设为唯一确定量;从界面输入
Eh=16;   %BYD F3DM
%%%以下为各种类型电动汽车快、中、慢充电功率,从界面输入
Pch=3.5; %家用慢充,充电功率,220V*16A=3.5kW
Pcm1=7;   %商场、停车场,L-1模式,220V*32A=7kW
Pcm2=12;  %商场、停车场,L-2模式,380V*32A=12kW
Pcm3=24;  %商场、停车场,L-3模式,380V*63A=24kW
%%%以下为家用电动汽车充电随机分布,期望值需要从界面输入
%一天一充
h1=1140;h2=0.6; %充电起始时刻;%起始荷电状态
%一天二充
h3=540;h4=0.6;  %第1次充电起始时刻;%第1次起始荷电状态
h5=1140;h6=0.6; %第2次充电起始时刻;%第2次起始荷电状态
%一天三充
h7=540;h8=0.6;   %第1次充电起始时刻;%第1次起始荷电状态
h9=840;h10=0.6;  %第2次充电起始时刻;%第2次起始荷电状态
h11=1140;h12=0.6;%第3次充电起始时刻;%第3次起始荷电状态
%%标准差,设为已知;
%一天一充
hh1=120;hh2=0.1;%对应的标准差
%一天二充
hh3=60;hh4=0.1;hh5=120;hh6=0.1;
%一天三充
hh7=60;hh8=0.1;hh9=120;hh10=0.1;hh11=120;hh12=0.1;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%蒙特卡洛仿真参数输入%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M=100;%monte carol 仿真次数
Bh=zeros(M,1440);%创建存放M次仿真的电动汽车充电功率原始矩阵
T=(1:1440);%时间,以分钟为单位,横坐标
r=0; %monte carol仿真循环时,M矩阵每行下移用
%%%%%%%%%%%%%%%%%%%%%开始进行M次蒙特卡洛仿真%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:1:MPh=zeros(1,1440);%创建用于存放电动汽车充电功率的一维数组,初始值设为0r=r+1;
%%%%%%%%以下为家用电动汽车充电功率计算程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%一天一充for j=1:1:Nh1                Ts=normrnd(h1,hh1);     %随机抽取起始充电时刻,h1为均值,hh1为标准差Ts=round(Ts);          %对随机抽取的时间取整    Csoc=normrnd(h2,hh2);   %随机抽取起始充电荷电状态Tc=(1-Csoc)*Eh*60/(0.9*Pch);%计算充电时长,0.9为充电效率,单位为minsTc=round(Tc);            %对充电时长取整k=Ts+Tc;if k>1440k=k-1440;Ph(1:k)=Ph(1:k)+Pch;Ph(Ts:1440)=Ph(Ts:1440)+Pch;else Ph(Ts:k)=Ph(Ts:k)+Pch;    %充电时段加上充电功率endPh(1:1440)=Ph(1:1440);endfor t=1:1:1440        Bh(r,t)=Ph(t);%把每次运行Ph的monte carol仿真结果存入B矩阵的行end
%%一天二充for j=1:1:Nh2                %第1次充,停车场Ts=normrnd(h3,hh3);     %随机抽取起始充电时刻Ts=round(Ts);           %对随机抽取的时间取整    Csoc=normrnd(h4,hh4);   %随机抽取起始充电荷电状态%Tc=120;                %充电时长限定在2小时Tc=(1-Csoc)*Eh*60*0.8/(0.9*Pcm1);%计算充电时长,Pcs为单位充电桩Tc=round(Tc);           %对充电时长取整k=Ts+Tc;Ph(Ts:k)=Ph(Ts:k)+Pcm1;    %充电时段加上充电功率%第2次充,家用Ts=normrnd(h5,hh5);     %随机抽取起始充电时刻Ts=round(Ts);           %对随机抽取的时间取整    Csoc=normrnd(h6,hh6);   %随机抽取起始充电荷电状态Tc=(1-Csoc)*Eh*60/(0.9*Pch);%计算充电时长,Pcs为单位充电桩Tc=round(Tc);           %对充电时长取整k=Ts+Tc;if k>=1440k=k-1440;Ph(1:k)=Ph(1:k)+Pch;Ph(Ts:1440)=Ph(Ts:1440)+Pch;else Ph(Ts:k)=Ph(Ts:k)+Pch;    %充电时段加上充电功率endPh(1:1440)=Ph(1:1440);endfor t=1:1:1440        Bh(r,t)=Bh(r,t)+Ph(t);%把每次运行Ph的monte carol仿真结果存入B矩阵的行end%%一天三充for j=1:1:Nh3                %第1次充,停车场Ts=normrnd(h7,hh7);     %随机抽取起始充电时刻Ts=round(Ts);           %对随机抽取的时间取整    Csoc=normrnd(h8,hh8);   %随机抽取起始充电荷电状态%Tc=120;                %充电时长限定在2小时Tc=(1-Csoc)*Eh*60*0.8/(0.9*Pcm1);%计算充电时长,Pcm为单位充电桩Tc=round(Tc);           %对充电时长取整k=Ts+Tc;Ph(Ts:k)=Ph(Ts:k)+Pcm1;    %充电时段加上充电功率%第2次充,商场Ts=normrnd(h9,hh9);     %随机抽取起始充电时刻Ts=round(Ts);           %对随机抽取的时间取整    Csoc=normrnd(h10,hh10);   %随机抽取起始充电荷电状态Tc=(1-Csoc)*Eh*60/(0.9*Pcm1);%计算充电时长,Pcs为单位充电桩Tc=round(Tc);           %对充电时长取整k=Ts+Tc;if k>=1440k=k-1440;Ph(1:k)=Ph(1:k)+Pcm1;Ph(Ts:1440)=Ph(Ts:1440)+Pcm1;else Ph(Ts:k)=Ph(Ts:k)+Pcm1;    %充电时段加上充电功率end%第3次充,回家后Ts=normrnd(h11,hh11);     %随机抽取起始充电时刻Ts=round(Ts);             %对随机抽取的时间取整    Csoc=normrnd(h12,hh12);   %随机抽取起始充电荷电状态Tc=(1-Csoc)*Eh*60/(0.9*Pch);%计算充电时长,Pcs为单位充电桩Tc=round(Tc);               %对充电时长取整k=Ts+Tc;if k>=1440k=k-1440;Ph(1:k)=Ph(1:k)+Pch;Ph(Ts:1440)=Ph(Ts:1440)+Pch;else Ph(Ts:k)=Ph(Ts:k)+Pch;    %充电时段加上充电功率endPh(1:1440)=Ph(1:1440);end for t=1:1:1440        Bh(r,t)=Bh(r,t)+Ph(t);%把每次运行Ph的monte carol仿真结果存入B矩阵的行end%%%%%%%%以下家用电动汽车充电曲线画图程序部分
figure(1)
Ph1=mean(Bh,1);  %平均充电功率,每一列的平均值
Ph2=std(Bh,0,1); %充电功率的标准差,按列求标准差,且除以N-1
Ph3=Ph1+3*Ph2; %充电功率的概率上线
Ph4=Ph1-3*Ph2; %充电功率的概率下线 
plot((T-1)/60,Ph1,'-b',(T-1)/60,Ph3,'--g',(T-1)/60,Ph4,'-.g')             
legend('期望','功率需求上限','功率需求下限');
grid
set(gca, 'XTick', [0:1:24])
xlabel('时间/H');         
ylabel('充电功率/kW');     
title('电动家用汽车一天内充电功率需求'); end

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark读取kafka(流式和批数据)

spark读取kafka(批数据处理) # 按照偏移量读取kafka数据 from pyspark.sql import SparkSessionss SparkSession.builder.getOrCreate()# spark读取kafka options {# 写kafka配置信息# 指定kafka的连接的broker服务节点信息kafka.bootstrap.servers: n…

集美大学“第15届蓝桥杯大赛(软件类)“校内选拔赛 D矩阵选数

经典的状态压缩DP int dp[15][(1<<14)10]; int a[15][15]; void solve() {//dp[i][st]考虑到了第i行 并且当前考虑完第i行以后的选择状态是st的所有方案中的最大值for(int i1;i<13;i)for(int j1;j<13;j)cin>>a[i][j];for(int i1;i<13;i){for(int j0;j<…

宝塔 ftp 服务器发回了不可路由的地址/读取目录列表失败

ftp连接不上&#xff1a; 1.注意内网IP和外网IP 2.检查ftp服务是否启动 &#xff08;面板首页即可看到&#xff09; 3.检查防火墙20端口 ftp 21端口及被动端口39000 - 40000是否放行 &#xff08;如是腾讯云/阿里云等还需检查安全组&#xff09; 4.是否主动/被动模式都不能连接…

相比于 Jira,极狐GitLab 的敏捷项目管理是怎样的?

本文作者 极狐GitLab 资深解决方案架构师 尹学峰 简述 写在前面的话 如果你目前没有用任何专门的项目管理软件&#xff0c;只是在使用word、excel之类的通用软件进行项目管理&#xff0c;建议直接阅读本文详述章节&#xff0c;极狐GitLab的项目管理工具将为你带来巨大的效率提…

logstack 日志技术栈-04-opensource 开源工具 Syslog-ng+Highlight.io

5. Syslog-ng Syslog-ng 是一个开源的日志管理解决方案&#xff0c;主要用于收集和处理日志数据。它可以从多种源收集日志&#xff0c;包括系统日志、网络设备日志和第三方应用日志。 然后将日志解析、分类、重写和关联到统一格式中&#xff0c;然后将其存储或安全地传输到不同…

[ tool ] Xpath选择器和selenium工具基本使用

XPath xpath介绍 是一门在XML文档中查找信息的语言 html文档准备 doc <html><head><base hrefhttp://example.com/ /><title>Example website</title></head><body><div idimages><a hrefimage1.html aabb>Name: My…

JVM工作原理与实战(二十一):内存管理

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、不同语言的内存管理 1.C/C的内存管理 2.Java的内存管理 二、垃圾回收的对比 1.自动垃圾回收与手动垃圾回收的对比 2.优点与缺点 总结 前言 JVM作为Java程序的运行环境&#…

区字棋中的最长非0链

一&#xff0c;区字棋 也叫憋死牛棋。 规则&#xff1a; 棋盘一共只有5个点&#xff0c;双方各2个棋子&#xff0c;还有一个空格。 先手必须移动左边的棋子&#xff0c;之后没有限制&#xff0c;2个棋子任意一个移动到空格皆可。 无法移动者判负。 二&#xff0c;不败策略…

ubuntu20遇到缺少qt4相关库的问题

最近需要做套接字通讯的工作&#xff0c;最好是有一个网络调试软件能够接受或者发送套接字&#xff0c;测试代码能够正常通讯。windows下有很多&#xff0c;但是linux下比较少&#xff0c;使用广泛的是下面这一款。 1、安装 首先从网盘&#xff08;链接: https://pan.baidu.c…

String在VS与Linux下的区别

目录 一、string的成员 1.VS 2.Linux 二、string的扩容机制 1. VS 2.Linux 一、string的成员 string是C标准库中的一个类模板&#xff0c;用于表示和操作字符串 string在 Windows 与 Linux 中的成员不是相同的 1.VS 4个成员&#xff1a;_str , _size , _capacity 和…

71.工作中redis的常用场景总结

文章目录 一、简介二、统计访问次数三、缓存四、分布式锁五、限流六、排行榜七、作为Session的存储器&#xff0c;存用户登录状态八、位统计九、生成全局ID 一、简介 Redis作为一种优秀的基于key/value的缓存&#xff0c;有非常不错的性能和稳定性&#xff0c;无论是在工作中&…

【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】

请阅读【嵌入式开发学习必备专栏 之 Cortex-Mx 专栏】 文章目录 背景Cortex-M33 与 M4 差异Cortex-M33Cortex-M4关系和差异举例说明 背景 在移植 RT-Thread 到 瑞萨RA4M2&#xff08;Cortex-M33&#xff09;上时&#xff0c;遇到了hardfault 问题&#xff0c;最后使用了Cortex…

大数据开发之kafka(完整版)

第 1 章&#xff1a;Kafka概述 1.1 定义 Kafka是一个分布式的基于发布/订阅模式的消息队列&#xff0c;主要应用于大数据实时处理领域。 发布/订阅&#xff1a;消息的发布者不会将消息直接发送给特定的订阅者&#xff0c;而是将发布的消息分为不同的类别&#xff0c;订阅者只…

Java String基础学习

目录 1、String的构造方法 2、String内存模型 3、字符串的比较 4、字符串的练习 1、用户登录系统 2、遍历字符串 3、统计字符次数 4、拼接字符串 5、字符串的反转 6、金额转换 7、手机号屏蔽 * 8、身份证信息查看 9、敏感词替换 5、StringBuilder 1、概念及练习…

【51单片机Keil+Proteus8.9】控制步进电机+LCD1602显示状态

步进电机控制 设计思路 电路设计&#xff1a; 选用AT89C51单片机作为电路核心部件&#xff0c;外加LM016L液晶显示屏作为显示&#xff0c;显示步进电机的Fast&#xff0c;Slow&#xff0c;Stop的三个状态将AT89C51单片机所选引脚与LM016L控制引脚相连&#xff0c;再将数据通…

ASEPRITE使用笔记

aseprite学习笔记 快捷键 新建图层后,按快捷键c可以调出画布属性框放大缩小画布快捷键,鼠标滚轮移动画布快捷键,空格ctr+d,取消选取基本概念 软件五个基本区域:菜单栏、工具属性栏、工具栏、图层栏、颜色栏颜色栏分为色板和调色区域注意事项 创造时,需要把输入法调整成应…

(2024,VMamba,交叉扫描,线性复杂度,全局感受野,动态权重)视觉状态空间模型

VMamba: Visual State Space Model 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 基础概念 3.2 2D 选择性扫描 3.3 VMamba 模型 3.3.1 整体架构 3.3.2 VSS…

大数据开发之Kafka(broker、消费者、eagle监控、kraft模式)

第 4 章&#xff1a;Kafka Broker 4.1 Kafka Broker工作流程 4.1.1 Zookeeper存储的Kafka的信息 1、查看zookeeper中的kafka节点所存储的信息 启动Zookeeper客户端 [atguiguhadoop104 zookeeper-3.5.7]$ bin/zkCli.sh 通过ls命令列出kafka节点内容 [zk: localhost:2181(CO…

Windows11添加美式(纯英文)输入法

打开设置&#xff0c;选择“时间和语言” 选择“语言和区域” 检查语言中否有英语&#xff08;美国&#xff09;&#xff0c;如果没有&#xff0c;请单击“添加语言” 单击英语&#xff08;美国&#xff09;右方的更多选项按钮&#xff0c;选择“语言选项” 找到下方“键盘…

对象数组变成一维数组,导出txt文件

假设对象数组格式为此 arr1: [{id: 1,title: 我是1目录,children: [{id: 11,title: 我是1-1目录,children: [{id: 111,title: 我是1-1-1目录,children: [],},],},],},{id: 2,title: 我是2目录,children: [{id: 21,title: 我是2-1目录,children: [],},],},], 页面如下 先在页面…