【免费】【sci】考虑不同充电需求的电动汽车有序充电调度方法(含matlab代码)

news2024/11/14 2:54:47

目录

1 主要内容

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序复现sci文献《A coordinated charging scheduling method for electric vehicles considering different charging demands》,主要实现电动汽车协调充电调度方法,该方法主要有以下几点优势:1.可以通过不同充电需求的充电紧迫性指标来选择电动汽车的充电模式;2.以微网整体峰谷负荷差最小为目标,也即可以实现削峰填谷;3.考虑了慢速充电电动汽车、快速充电电动汽车和微电网运行的各种约束条件;4.采用蒙特卡罗仿真(Monte Carlo Simulation, MCS)模拟电动汽车的随机性。该代码采用matlab+cplex平台运行,中文注释清晰,可以通过文后下载链接直接免费获取文章和源码资源。

部分代码

%统计家庭充电模式下EV信息表
function [] = printHomeEV(EV)
​
    init;%获取全局变量
    
    f = figure;%生成图窗
    suptitle('家庭充电模式EV信息');%图标题
    set(gcf,'position',[250 100 1000 600]);%设置图窗大小
    
    %绘制以15分钟为间隔计数的EV到达时刻频数分布直方图
    subplot(2,3,1);
    N = zeros(96,1);
    C = tabulate(EV.J_c(:));%对每个元素进行统计
    N(C(:,1))=N(C(:,1))+C(:,2);
    bar(1-0.5:1:96-0.5,N,1);%绘图   
    title('EV接入时隙频数直方图');%图标题
    xlabel('Arrival time slots');%x轴单位
    ylabel('frequency ');  %y轴单位
    set(gca,'xtick',0:12:96); %x轴刻度
    
    %绘制以1小时为间隔计数的EV到达时刻的频率分布直方图,并叠加画出家庭充电模式的概率密度函数 
    subplot(2,3,2);   
    N = histcounts(EV.t_c,0:1:24);%按照一个小时的区间计数,赋给N
    bar(0.5:1:23.5,N/sum(N),1);%显示直方图
    hold on;
    %画出家庭充电模式的概率密度函数 
    x = [0.001:0.001:24];%采样密度
    y = normpdf(x,mu_1tc,sigma_1tc).*( mu_1tc-1224 )+...
        normpdf(x+24,mu_1tc,sigma_1tc).*( 012 );%论文中描述的概率密度函数
    plot(x,y,"LineWidth",2,"Color","red");%画粗的红线       
    title('EV接入时刻频率直方图');%图标题
    xlabel('Arrival time (h)');%x轴单位
    ylabel('probability');  %y轴单位
    %set(gca,'xtick',0:1:24); %x轴刻度
    legend('Collected Data','PDF');%增加图例
    legend('Location','northwest');%图例放在左上角
       
    %绘制以15分钟为间隔计数的EV离开时刻频数分布直方图
    subplot(2,3,4);
    N = zeros(96,1);
    C = tabulate(EV.J_dis(:));%对每个元素进行统计
    N(C(:,1))=N(C(:,1))+C(:,2);
    bar(1-0.5:1:96-0.5,N,1);%绘图  
    title('EV离开时隙频数直方图');%图标题
    xlabel('Departure time slots');%x轴单位
    ylabel('frequency ');  %y轴单位
    set(gca,'xtick',0:12:96); %x轴刻度
    %set(gca,'position',[0.05,0.08,0.30,0.37]);
    
    %绘制以1小时为间隔计数的EV离开时刻的频率分布直方图,并叠加画出家庭充电模式的概率密度函数 
    subplot(2,3,5);
    N = histcounts(EV.t_dis,0:1:24);%按照一个小时的区间计数,赋给N
    bar(0.5:1:23.5,N/sum(N),1);%显示直方图
    hold on;
    %画出家庭充电模式的概率密度函数 
    x = [0.01:0.01:24];
    y = normpdf(x,mu_1tdis,sigma_1tdis).*( 012 )+...
        normpdf(x-24,mu_1tdis,sigma_1tdis).*( mu_1tdis+1224 );
    plot(x,y,"LineWidth",2,"Color","red");   
    title('EV接入时刻频率直方图');%图标题
    xlabel('Departure time (h)');%x轴单位
    ylabel('probability');  %y轴单位
    %set(gca,'xtick',0:1:24); %x轴刻度
    legend('Collected Data','PDF');%增加图例
    legend('Location','northeast');%图例放在右上角
​
    %绘制电池状态的频率分布直方图,并叠加画出对应概率密度函数
    subplot(2,3,[3 6]);
    scatter(1:size(EV),EV.SOC_con,'filled');
    hold on;
    scatter(1:size(EV),EV.SOC_min,'filled');
    hold on;
    scatter(1:size(EV),EV.SOC_max,'filled');
    hold on;    
    title('EV电池SOC频率直方图');%图标题
    ylabel('SOC (%)'); %x轴单位
    xlabel('i-th EV');  %y轴单位
    %xlim([-10,size(EV)+10]);%对X轴设定显示范围 
    legend('con','min','max');%增加图例
    legend('Location','northwest');%图例放在左上角
    
    %立即绘制
    hold off;
end

程序结果

原文结果图

下载链接

点击直达

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

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

相关文章

如何使用PyTorch 在 OpenAI Gym 上的 CartPole-v0 任务上训练深度 Q 学习(DQN)智能体

强化学习(DQN)教程 本教程说明如何使用 PyTorch 在 OpenAI Gym 上的 CartPole-v0 任务上训练深度 Q 学习(DQN)智能体。 任务 智能体必须在两个动作之间做出决定-向左或向右移动推车-以便使与之相连的杆子保持直立。 您可以在 G…

存储笔记7 NAS

NAS  Describe NAS, its benefits and components  Discuss different NAS implementations  Describe NAS file-sharing protocols  Discuss NAS management options File Sharing Environment 文件系统:存储组织数据文件的结构化方式文件共享 网络存储…

python3GUI--图片浏览器By:PyQt5(附源码)

文章目录 一.前言二.展示1.主界面2.添加图片3.多级目录4.查看文件信息5.调整UI布局 三.源代码1.image_god_main_v.py2.image_god_GUI.py 四.总结 一.前言 本次使用PyQt5开发一款图片浏览器,本篇主要练习QD…

AIGC新时代,注意政策走向,产业方向,拥抱可信AI。需要了解基本理论,基础模型,前沿进展,产品应用,以及小小的项目复现

AIGC(AI-Generated Content,AI生成内容)是指基于生成对抗网络(GAN)、大型预训练模型等人工智能技术的方法,通过对已有数据进行学习和模式识别,以适当的泛化能力生成相关内容的技术。类似的概念还…

免费、不用部署SD:AI二维码制作教程

大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、读书和自媒体。 最近,风格化的AI二维码,应该没少见吧。生成的原理大家大概也知道,主要通过stable diffusion和一些插件来完成,但对…

【Linux】HTTPS协议

目录 🍺前言🍻HTTPS协议原理🎀1、概念🎁2、加密和解密🎂3、常见加密方式🍁3.1、对称加密🍂3.2、非对称加密 🎃4、数据摘要和数据指纹🍤5、HTTPS工作原理🌸5.1…

学生速看!免费领取一台阿里云服务器全流程

阿里云学生服务器优惠活动:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境、git代码托管服务器,或者创建个人博客网站记录自己的学习成长历程,拥有一台云服务器是很…

零基础速成simulink代码生成——简单滤波器实现2

simulink setting 找到model settings solver求解器配置 Code Generation 代码生成配置 生成代码报告 添加stateflow注释 可以将变量保存在定义的文件(选) 实践 简单一阶滤波器

鼠标键盘实验

文章目录 USB参考资料USB设备STM32F407USB 硬件连接软件移植官方HIDSTM32F4USB通信库 USB参考资料 ①《STM32F4xx中文参考手册》-第30章 全速USB on-the-go(OTG_FS) ②光盘:STM32参考资料:STM32 USB 学习资料-CD00289278.pdf(UM1021) ③光盘:STM32参考资…

Android 14 新特性:语法性别 Grammatical Gender

背景 如同汉语里的他、她、它,英语里的 He、She、it,很多语言都存在依据性别、对象不同而造成的语法差异,甚至不仅限于名词,还涉及到形容词、动词等,复杂得多。 而这部分语言所涉及到的人群多达 30 亿之众&#xff0…

【树形DP+可重集排列】至至子的公司排队

好屌的题 F-至至子的公司排队_牛客小白月赛55 (nowcoder.com) 题意: 思路: 其实题目问的就是,森林的拓扑序有几种 那么我们先去考虑一棵树的拓扑序有几种 这个可以用树形DP来解决 设dp[u]为,以u为根的子树的拓扑序的种类数&…

【Java】项目中大批量数据查询导致OOM

文章目录 背景内存溢出的具体原因错误模拟问题复现解决办法流式查询和分页查询的使用场景查询数据的建议 背景 项目中有时候一次性将大批量数据都查出来到内存中导致内存占用过多很可能会导致内存溢出 内存溢出的具体原因 在JVM内存结构中分为以下几个模块 程序计数器虚拟机…

SSL协议,一文带你了解

SSL简介 SSL(Secure Sockets Layer)是一种安全协议,用于保护互联网上的数据传输安全。SSL协议最初由网景公司开发,现在已经被TLS(Transport Layer Security)协议所取代。SSL协议和TLS协议都是为了保护数据传…

一文带你弄懂【时间复杂度】

文章目录 算法时间复杂度时间复杂度计算常见的时间复杂度时间复杂度的差异 总结 算法 算法(Algorithm)是求解一个问题需要遵循的,被清楚指定的简单指令的集合。 一个算法的评价主要从时间复杂度和空间复杂度来考虑。而时间复杂度是一个函数…

Netty核心技术四--Netty概述

1. 原生NIO存在的问题 NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等。需要具备其他的额外技能:要熟悉 Java 多线程编程,因为NIO编程涉及到Reactor模式,…

从tomcat说起全面理解Java web开发原理

从tomcat说起全面理解Java web开发原理 简介:Java开发分为Java ME,Java SE,Java EE。回顾过去这些的开发工作基本上都是围绕着Java EE的,在开发经历中分别经历了Java EE开发框架从jsp servlet一路经历了ssh, ss…

存储笔记8 ipsan

Module Objectives IP SAN的组件 IP SAN的好处 描述SAN中的IP融合及其影响 描述的基本架构 –iSCSI –FCIP –FCoE 讨论IP SAN技术的市场驱动因素 列出IP SAN技术 列出iSCSI的组件和连接选项 描述iSCSI体系结构和拓扑结构 解释iSNS操作 描述FCIP的体系结构 IP SAN互联…

Springboot整合第三方登录

文章目录 Springboot整合第三方登录为什么采用第三方登录整合第三方登录创建应用导入依赖创建controller类 Springboot整合第三方登录 为什么采用第三方登录 ​ 采用第三方登录可以避免重新注册账号的繁琐,也不需要再为密码和昵称发愁,而第三方登录有一…

Linux命令——top相关之Load Average平均负载

Linux 平均负载 Load Average 详解_系统1f分钟负载_欧晨eli的博客-CSDN博客 一、什么是Load Average? 系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。…

2-JVM运行流程

JVM 是 Java 运行的基础,也是实现一次编译到处执行的关键,那么 JVM 是如何执行的呢? 程序在执行之前先要把java源代码(.java)转换成字节码文件(.class)。JVM 首先需要通过一定的方式类加载器&a…