“车-路-网”电动汽车充电负荷时空分布预测(matlab)
目录
1 主要内容
2 部分代码
3 程序结果
4 下载链接
1 主要内容
该程序参考《基于动态交通信息的电动汽车充电负荷时空分布预测》和《基于动态交通信息的电动汽车充电需求预测模型及其对配网的影响分析》文献模型,考虑私家车、出租车和共用车三类交通工具特性和移动负荷特性,实现了基于动态交通信息的电动汽车充电负荷时空分布预测。将负荷预测情况和33节点配电网络进行结合,形成交通网-配电网交互模型,采用牛拉法进行潮流计算。程序采用matlab编写,注释清晰,方便学习!
- 交通网-配电网交互模型
路网模型参考下图:
很多文献都会用到路网结合模型,这也是电动车研究领域的一个热点方向,通过路网模型更能精确定位电能需求点以及对配电网络的影响。
- 动态交通路网模型
动态交通网络模型采用图论法进行建模,拓扑结构示意图如下:
具体的数学模型表达式为:
式中:G 为交通路网;V 表示图 G 所有节点的集合;E 表示图 G 所有路段的集合;W 为路段权值的集合,即道路路阻;K 表示划分的时间段集合,即将全天划分为 m个时间段。
交通网络生成代码如下:
%%动态交通路网模型:采用图论分析方法建模 %G为交通路网(图);V表示图G所有节点的集合,本文设置32个配电网节点;E表示所有路段的集合;W为路段权重的集合,即道路路阻;K表示划分的时间段集合,即将全天划分为m个时间段。 %路段权值W表示道路出行代价,可采用路段长度、通行速度、行程时间等权值进行量化研究 %在城市路网中,路口交叉节点多设置信号灯进行管控,车辆行驶既受到路段阻抗影响,又在交叉节点产生时间延误。 %因此,城市道路路阻可表示为W(t)=CV(t)+RV(t);CV(t)表示节点阻抗模型,RV(t)表示路段阻抗模型 %依据城市交通状况划分标准,饱和度 S 评价指标:畅通(0<S≤0.6)、缓行(0.6<S≤0.8)、拥挤(0.8<S≤1.0)以及严重拥堵(1.0<S≤2.0)。 %道路交叉口和路段通行能力不同,可以得到不同饱和度对应的路段阻抗和节点阻抗模型 %RV(t)路段阻抗模型,通过饱和度S=Q/C,(Q为路段交通流量,C为通行能力,这里是随机生成S所以不用管Q与C的问题);t0为零流量行程时间;alpha beta为阻抗影响因子,来计算。 %CV(t)节点阻抗模型,通过信号周期c,绿信比lamda,路段车辆到达率q,来计算 %针对RV(t)路段阻抗和CV(t)节点阻抗模型中,饱和度S是唯一变量,其余为道路规划固定参数,因此,将RV(t)和CV(t)合并可得到道路路阻阻抗模型W(t)=CV(t)+RV(t)。 %% alpha beta 阻抗影响因子 t0-零流量行程时间,计算RV(t)路段阻抗模型 alpha=1.3; beta=1.2; t0=10; %% 信号周期c,绿信比lamda,路段车辆到达率q,计算CV(t)节点阻抗模型 c=30; lamda=0.7; q=0.8; %% 2【路网结构】 邻接矩阵(此时建立的仅是结构,而为给每条边赋以路段权值W) LJ=zeros(32,32); L=[1 2;2 3;3 9;1 4;2 6;3 7;4 5;5 6;6 7;7 8;8 9;4 10;5 11;6 12;7 13;10 11;11 12;12 13;13 14;8 21;9 26;10 15;11 16;12 17;12 18;14 20;15 16;16 17;17 18;18 19;19 20;20 21;15 32;16 27;17 22;18 23;19 24;20 24;21 25;32 27;27 22;22 23;23 24;24 25;25 26;23 28;24 29;25 30;26 31;27 28;28 29;29 30;30 31]; % 矩阵序号法写邻接矩阵 LJ(L(:,2)*32-32+L(:,1))=1; LJ(L(:,1)*32-32+L(:,2))=1; % figure(1) G=graph(LJ,'upper');%根据带权邻接矩阵生成无向图 % plot(G); % title('无向图') plot(G,'EdgeLabel',G.Edges.Weight) title('标定权重的无向图') %% 3【阻抗模型权重W】(为给每条边赋以路段权值W) % 1) 随机生成S权重 % 2) 或者 输入shortestpath函数求路径(这一项操作没有便要做,不知道作用是为何) S=zeros(32,32); S=2*rand(32,32); for i=1:32for j=1:32if LJ(i,j)==1if S(i,j)<=1 Rv(i,j)=t0*(1+alpha*S(i,j)^beta);elseRv(i,j)=t0*(1+alpha*(2-S(i,j))^beta);endif S(i,j)<=0.6 Cv(i,j)=0.9*(c*(1-lamda)^2/2/(1-lamda*S(i,j))+S(i,j)^2/2/q/(1-S(i,j)));elseCv(i,j)=c*(1-lamda)^2/2/(2-lamda*S(i,j))+1.5*(S(i,j)-0.6)*S(i,j)/(2-S(i,j));endW(i,j)=Rv(i,j)+Cv(i,j);elseW(i,j)=0*1e3;endend end W(find(W>50))=50; figure(2) bar3(W) % G=graph(W,'upper'); % plot(G); % title('无向图') plot(G,'EdgeLabel',G.Edges.Weight) title('标定权重的无向图') %[path,distance]=shortestpath(G,1,6) %这行代码在这块没用,是多余的 %% 4【路程模型权重L】(作为计算耗电量中的一个参数) RL=10+10*rand(32,32); RL=RL.*LJ;
2 部分代码
load dataTRN.mat; load dataEV.mat; load dataWq.mat; G=graph(W,'upper'); %生成路-网耦合图G,W是每条边的权重值,W为32*32阶矩阵 Charge=zeros(size(Mcar,1),5); %生成一个size(Mcar,1)=1000*5的零矩阵,其中size(Mcar,1)=1000。 TP_carnumber=zeros(size(W,1),3); %生成一个size(W,1)=32*3的零矩阵,W是每条边的权重值,W为32*32阶矩阵,TP_carnumber(x,1)、TP_carnumber(x,2)、TP_carnumber(x,3)应该是每条边上/每个交通节点私家车1,公交车2,私家车3的数量 Pcharge=zeros(24,3); %生成一个24*3的零矩阵,******PCharge代表24小时内私家车1,公交车2,私家车3 Pchar_slow=12; %设置慢充充电功率为12KW Pchar_fast=48; %设置慢充充电功率为48KW Pntcharge=zeros(24,32); %生成一个24*32的零矩阵,PntCharge代表24个小时内32个配网节点的供电负荷=电动汽车耗电量 %% MC for icar=1:size(Mcar,1) %EV的编号,从1-1000,共1000台EV,size(Mcar,1)=1000,一个for icar=1:size(Mcar,1) 循环代表把第一台EV的%1-9个特征变量(车辆编号icar、EV种类Icar_kind、EV初始位置Birthland、%目的地Destination、初始时刻tBirth1、返程时刻tBirth2、ev容量Cbat、初始soc SOC0、速度Vcar)全部采集一遍%1000个for icar=1:size(Mcar,1) 循环代表把1000台EV的%1-9个特征变量(车辆编号icar、EV种类Icar_kind、EV初始位置Birthland、%目的地Destination、初始时刻tBirth1、返程时刻tBirth2、ev容量Cbat、初始soc SOC0、速度Vcar)全部采集一遍icarIcar_kind=Mcar(icar,2);%EV种类;%size(Mcar,2)=1000Birthland=Mcar(icar,3);%EV初始位置Destination=Mcar(icar,4);%目的地tBirth1=Mcar(icar,5);%初始时刻tBirth2=Mcar(icar,6);%返程时刻Cbat=Mcar(icar,7);%ev容量SOC0=Mcar(icar,8);%初始socVcar=Mcar(icar,9);%速度TP_carnumber(Birthland,Icar_kind)=TP_carnumber(Birthland,Icar_kind)+1;%第Birthland条边/第Birthland个交通节点下,对应的第Icar_kind种车型加1,此行代码是计数的作用if Mcar(icar,3)==Mcar(icar,4) %如果EV初始位置Birthland=car(icar,3)==EV目的地Destination=Mcar(icar,4)continue %end %[path,distance]=shortestpath(G,Birthland,Destination); %如果EV初始位置Birthland=car(icar,3) 不等于 EV目的地Destination=Mcar(icar,4)%则输出EV初始位置Birthland=car(icar,3)与EV目的地Destination=Mcar(icar,4)最短路径path与最短距离distance%% C1 私家车if Icar_kind==1%考虑环境温度和速度 耗电量dE=1.5*distance/Vcar+(0.21-1e-3*Vcar+1.531/Vcar)*distance; %由最短行驶距离distance,电动汽车行驶实时车速Vcar=Mcar(icar,9),计算出EV初始位置到目的地的耗电量SOC1=SOC0-dE/0.9/Cbat; %由初始soc即SOC0=Mcar(icar,8) 与 EV初始位置到目的地的耗电量 与 充电效率0.9 与 ev容量Cbat=Mcar(icar,7)SOC2=SOC1-dE/0.9/Cbat; %计算出电动汽车剩余电量SOC2tdest1=tBirth1+distance/Vcar; %到达目的地时间(tdest1)=初始时刻+行驶时间if SOC2<0 %判断私家车是否充电的条件% 触发慢充/计及排队时间Tmmc=Wq(ceil(tdest1)); %ceil为向上取整T80=tdest1+(0.8-SOC1)*Cbat/Pchar_slow+Tmmc; %充电到0.8EV容量时间(T80)=到达目的地时间+慢充到0.8EV容量时间+Tmmcif T800.8EV容量时间<到达第二个目的地的时间Charge(icar,2)=1; %Icar_kind=Mcar(icar,2);EV种类;所以Charge(icar,2)赋值为私家车Icar_kind==1Charge(icar,3)=floor(tdest1); %EV初始位置Mcar(icar,3)赋值为向下取整tdest1,即32个交通节点中的一个Charge(icar,4)=ceil(T80); %目的地Mcar(icar,4)赋值为向上取整T80,即32个交通节点中的一个Charge(icar,5)=ceil(Pchar_slow); %初始时刻Mcar(icar,5)赋值为向上取整Pchar_slowPntcharge(Charge(icar,3):Charge(icar,4),Destination)=Pntcharge(Charge(icar,3):Charge(icar,4),Destination)+Charge(icar,5);%列表切片,Pntcharge(Charge(icar,3):Charge(icar,4),Destination)即为取Charge(icar,3):Charge(icar,4)所在行与Destination所在列的交叉元素elseCharge(icar,2)=1; %Icar_kind=Mcar(icar,2);EV种类;所以Charge(icar,2)赋值为私家车Icar_kind==1Charge(icar,3)=floor(tdest1); %EV初始位置Mcar(icar,3)赋值为向下取整tdest1Charge(icar,4)=ceil(tBirth2); %目的地Mcar(icar,4)赋值为向上取整tBirth2,因为此时T80>tBirth2成立Charge(icar,5)=ceil(Pchar_slow); %初始时刻Mcar(icar,5)赋值为向上取整Pchar_slowPntcharge(Charge(icar,3):Charge(icar,4),Destination)=Pntcharge(Charge(icar,3):Charge(icar,4),Destination)+Charge(icar,5);%列表切片,Pntcharge(Charge(icar,3):Charge(icar,4),Destination)即为取Charge(icar,3):Charge(icar,4)所在行与Destination所在列的交叉元素
3 程序结果
4 下载链接
见下方!
相关文章:
“车-路-网”电动汽车充电负荷时空分布预测(matlab)
目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考《基于动态交通信息的电动汽车充电负荷时空分布预测》和《基于动态交通信息的电动汽车充电需求预测模型及其对配网的影响分析》文献模型,考虑私家车、出租车和共用车三类交通工具特性和…...
【核磁共振成像】方格化重建
目录 一、缩放比例二、方格化变换的基础三、重建时间四、方格化核 一、缩放比例 对于笛卡尔K空间直线轨迹数据可直接用FFT重建,而如果K空间轨迹的任何部分都是非均匀取样的 可用DFT直接重建,有时称为共轭相位重建,但此法太慢不实用。把数据再…...
JAVA中时间戳和LocalDateTime的互转
时间戳转LocalDateTime: 要将时间戳转换为LocalDateTime并将LocalDateTime转换回时间戳,使用Java的java.time包。以下是示例代码: import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId;public class Times…...
无涯教程-进程 - 创建终止
到现在为止,我们知道无论何时执行程序,都会创建一个进程,并且该进程将在执行完成后终止,如果我们需要在程序中创建一个进程,并且可能希望为其安排其他任务,该怎么办。能做到吗?是的,显然是通过…...
LLMs参考资料第一周以及BloombergGPT特定领域的训练 Domain-specific training: BloombergGPT
1. 第1周资源 以下是本周视频中讨论的研究论文的链接。您不需要理解这些论文中讨论的所有技术细节 - 您已经看到了您需要回答讲座视频中的测验的最重要的要点。 然而,如果您想更仔细地查看原始研究,您可以通过以下链接阅读这些论文和文章。 1.1 Trans…...
LeetCode字符串数组最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs [“flower”,“flow”,“flight”] 输出:“fl” 示例 2: 输入:strs [“dog”,“raceca…...
Git gui教程---第八篇 Git gui的使用 创建一个分支
一般情况下一个主分支下代码稳定的情况下会新建出一个分支,然后在分支上修改,修改完成稳定后再合并到主分支上。 或者几个人合作写一份代码,每个人各一个分支,测试稳定再合并到主分支上。 在git gui选择菜单栏“分支”࿰…...
Docker修改daemon.json添加日志后无法启动的问题
docker实战(一):centos7 yum安装docker docker实战(二):基础命令篇 docker实战(三):docker网络模式(超详细) docker实战(四):docker架构原理 docker实战(五):docker镜像及仓库配置 docker实战(六):docker 网络及数据卷设置 docker实战(七):docker 性质及版本选择 认知升…...
QT6编译的文件分布情况
工程文件和编译文件位置分布 工程文件是自己建立的源文件位置,而同等级的位置在工程构建时会重新生成一个编译后的文件夹,里面包含了可执行的exe文件。而这个文件夹的内容也是QT ide运行时读取的文件,但这个文件的内容在IDE中如果不重新构建…...
2023中国算力大会 | 中科驭数加入DPU推进计划,探讨DPU如何激活算网融合新基建
8月18日,由工业和信息化部、宁夏回族自治区人民政府共同主办的2023中国算力大会在宁夏银川隆重召开。作为DPU算力基础设施领军企业,中科驭数产品运营部副总经理曹辉受邀在中国信通院承办的算网融合分论坛发表主题演讲《释放极致算力 DPU激活算网融合新基…...
leetcode 115. 不同的子序列
2023.8.25 使用dp数组解决。 定义一个二维dp数组,dp[i][j]的含义为:字符串s(下标为i-1)中,子序列t(下标为j-1)出现的个数。 当字符串s[i-1]和t[j-1]相同时,递推公式为:d…...
gradio应用transformer模块部署生成式人工智能应用程序
文章目录 gradio简介hello world范例文本分类文本问答抽取式问答gr.Interface自定义实现问答Blocks使用gradio简介 gradio只需在原有的代码中增加几行,就能自动化生成交互式web页面,并支持多种输入输出格式,比如图像分类中的图>>标签,超分辨率中的图>>图等。 …...
【目标检测】“复制-粘贴 copy-paste” 数据增强实现
文章目录 前言1. 效果展示代码说明3. 参考文档4. 不合适点 前言 本文来源论文《Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation》(CVPR2020),对其数据增强方式进行实现。 论文地址:https:/…...
深度学习知识总结2:主要涉及深度学习基础知识、卷积神经网络和循环神经网络
往期链接:Summer 1 : Summarize linear neural networks and multi-layer perceptron Summer 2: Summarize CNN and RNN 文章目录 Summer 2: Summarize CNN and RNNPart 1 Deep Learning> 层和块> 参数管理和延后初始化> 读写文件和GPU Part 2 CNN> 从…...
Spring Boot 集成 WebSocket 实现服务端推送消息到客户端
WebSocket 简介 WebSocket 协议是基于 TCP 的一种新的网络协议,它实现了浏览器与服务器全双工(full-duplex)通信—允许服务器主动发送信息给客户端,这样就可以实现从客户端发送消息到服务器,而服务器又可以转发消息到客…...
vr游乐场项目投资方案VR主题游乐馆互动体验
VR文旅景区沉浸互动体验项目是指利用虚拟现实技术在文旅景区中创建沉浸式的互动体验项目。通过虚拟现实技术,游客可以身临其境地体验景区的风景和文化,与虚拟场景中的元素进行互动。 普乐蛙VR设备 普乐蛙VR设备案例分享 这种项目可以为游客带来全新的旅游…...
chrom扩展开发配合百度图像文字识别实现自动登录(后端.net core web api)
好久没做浏览器插件开发了,因为公司堡垒机,每次登录都要输入账号密码和验证码。太浪费时间了,就想着做一个右键菜单形式的扩展。 实现思路也很简单,在这里做下记录,方便下次开发参考。 一,先来了解下chro…...
香港服务器怎么打开SSH
SSH是一种远程登录协议,可以通过加密方式在网络上安全地传输数据。它允许用户在远程服务器上执行命令,管理文件和目录,并进行其他系统管理任务。 如何打开SSH服务? 1.确认已安装OpenSSH服务器: 你可以通过命令sudoapt-geti…...
【LeetCode】437.路径总和Ⅲ
题目 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节…...
Mybatis-plus中操作JSON字段
1.实体类上要加上自动映射 TableName(value "school", autoResultMap true)2.json字段上加上json处理器 TableField(value "cover_url", typeHandler JacksonTypeHandler.class)private List<String> cover_url;参考博客 http://www.dedeyun.co…...
第十五课、Windows 下打包发布 Qt 应用程序
功能描述:讲解了 Windows 下打包发布 Qt 应用程序的三种方法,并对比优缺点 一、利用 windepolyqt 工具打包发布 Qt 提供了一个 windeployqt 工具来自动创建可部署的文件夹。 打包发布流程: 1. 新建一个文件夹,将编译后的可执行…...
【php】windows下php运行已有php web项目环境配置教程
php环境配置教程 php安装composer安装扩展安装redis扩展安装 composer install 本文操作系统使用的是win11,软件PhpStorm 2023.1 php安装 要安装的php版本可以在composer.json看到,下载安装对应版本 windows下载地址https://windows.php.net/download …...
【mybatis】 mybatis在mysql 更新update 操作 更新时间字段按照年月日时分秒格式 更新为当前时间...
参考链接 【mybatis】 mybatis在mysql 更新update 操作 更新时间字段按照年月日时分秒格式 更新为当前时间…...
C++动态规划经典案例解析之合并石子
1. 前言 区间类型问题,指求一个数列中某一段区间的值,包括求和、最值等简单或复杂问题。此类问题也适用于动态规划思想。 如前缀和就是极简单的区间问题。如有如下数组: int nums[]{3,1,7,9,12,78,32,5,10,11,21,32,45,22}现给定区间信息[…...
go MongoDB
安装 go get go.mongodb.org/mongo-driver/mongo package mongodbexampleimport ("context""fmt""ginapi/structs""time""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/bson/primitive""…...
算法与数据结构(八)--优先队列
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除,在某些情况下,我们可能需要找出队列中的最大值或者最小值。 例如使用一个队列保存计算机的任务,一般情况下计算机的任务都是有优先级的ÿ…...
React 全栈体系(三)
第二章 React面向组件编程 四、组件三大核心属性3: refs与事件处理 1. 效果 需求: 自定义组件, 功能说明如下: 点击按钮, 提示第一个输入框中的值当第2个输入框失去焦点时, 提示这个输入框中的值 2. 理解 组件内的标签可以定义ref属性来标识自己 3. 编码 3.1 字符串形式…...
腾讯云下一代CDN -- EdgeOne加速MinIO对象存储
省流 使用MinIO作为EdgeOne的源站。 背景介绍 项目中需要一个兼容S3协议的对象存储服务,腾讯云的COS虽然也兼容S3协议,但是也只是支持简单的上传下载,对于上传的时候同时打标签这种需求,就不兼容S3了。所以决定自建一个对象存储…...
GitLab-CI 指南
GitLab CI 指南 前置工作 部署GitLab 部署GitLab-Runner 注册Runner到GitLab docker exec -it gitlab-runner bash # 进入容器 gitlab-runner register #调用register命令开始注册 # 在Gitlab Setting中找到Runners,如下图所示Enter the GitLab instance URL (for example, …...
MyBatis的核心技术掌握,简单易懂(上)
目录 一.MyBatis中的动态SQL 二.MyBatis中的模糊查询 1. # 符号 2. $ 符号 ---问题 ---所以大家知道 # 和 $ 在MyBatis中的模糊查询中的区别了嘛?? 三.MyBatis 中的结果映射 1. resultType: 2. resultMap: ---问题 ---…...
幼儿网站源代码/国内建站平台有哪些
如果wbMain是您的WebBrowser1控件,请执行以下操作.首先,你需要获得你的元素的引用,假设你想要访问第一个< A>链接,你的页面,你可以循环通过所有你想要的.这是在VB中,但它与C#中的相同,只是语法不同.Dim i As IntegerDim aElement As HTMLAnchorElement wbMain.Document.…...
宁乡电商网站建设收费/网络整合营销是什么意思
在当前 文件下打开 pom.xml 鼠标 悬停 在 pom.xml 上,按住 shift 同时 鼠标右键,在此处打开 Powershell窗口 输入:如图 然后看到 成功了,就好了 如何查看 JDK 和 maven 版本???ÿ…...
php动态网站开发唐四薪课后答案/网站建设加推广优化
在Dataguard的备库上应用日志的时候,通常有两个语句,但是这两个语句是有区别的,一个是实时应用,一个是非实时应用。 alter database recover managed standby database disconnect from session; alter database recover managed…...
顺德网站制作/互动营销是什么
我们在使用电脑的时候偶尔会遇到电脑开机时,点不亮的情况,这也是比较常见的电脑故障,那么电脑点不亮原因及处理方法是什么呢?下面就来具体介绍一下。电脑点不亮原因及处理方法1、当电脑屏幕点不亮时候,我们首先可以采取释放静电的…...
海南私彩网站怎么做/产品推广方式有哪些
ch09-SpringBoot 打包1.1 SpringBoot 打包为 war1.1.1 pom.xml 文件1.1.2 创建 webapp 目录1.1.3 指定 webapp 为 web 目录1.1.4 创建 jsp 文件1.1.5 创建 Controller1.1.6 配置视图解析器1.1.7 启动主类,访问地址1.1.8 主启动类继承 SpringBootServletInitializer1…...
美国网站建设公司/抖音seo推荐算法
A.启动应用程序B.切换当前应用程序C.修改程序项的属性D.修改程序组的属性16.当一个应用程序窗口被最小化后,该应用程序将___B_。A.被删除B.缩小为图标,成为任务栏中的—一个按钮C&am…...