有序充电基于matlab蒙特卡诺和拉格朗日乘子法模拟电动车有序和无序充电含Matlab源码 2375期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有序充电基于matlab蒙特卡诺和拉格朗日乘子法模拟电动车有序和无序充电含Matlab源码 2375期相关的知识,希望对你有一定的参考价值。
⛄一、蒙特卡洛算法简介
1 蒙特卡洛算法定义
蒙特卡洛(Monte Carlo)方法,在渲染中,我们经常听到术语“蒙特卡洛”(通常缩写为MC)。但是这是什么意思?实际上,它所指的是一个非常简单的想法,蒙特卡洛方法指的是一系列统计方法,这些方法本质上用于查找事物的解决方案,例如计算函数的期望值,或者对由于没有封闭形式而无法进行分析积分的函数进行积分。我们可以用该原理来解决不同的问题,并且针对这些问题中都可以关联不同的技术或算法。所有这些算法的共同点是它们使用随机(或随机)采样。
2 蒙特卡洛模拟法的原理
蒙特卡洛法(Monte Carlo)是统计试验计算方法,高斯正太分布的期望值µ决定函数分布位置,标准差σ决定函数分布幅度,其概率密度函数公式如下:
根据中心极限定理,当统计样本足够充足时,各独立同分布随机变量之和的分布趋近于高斯正态分布,且尺寸分布符合伯努利大数定律。因此,蒙特卡洛模拟法计算中所求数学期望即可通过函数f(x)的积分获取。
⛄二、部分源代码
%利用蒙特卡洛模拟法模拟出电动汽车负荷曲线
%同时求解出无序充电功率曲线,作为有序充电曲线的对比基础
clc;clear;
close all
Ntest=100;%仿真程序 车辆数
SOC_end=0.9;
Pbiao=15;%充电功率为15kW
nn=0.9;%充电效率为0.9
Pcharge=Pbiaonn;%实际充电的功率
Cbattery=30; %电池容量
distance=unifrnd(30,80,1,Ntest); %Ntest辆车 每辆车的单程距离
judge=0.15distance/Cbattery; %单程耗电SOC
SOC=rand(1,Ntest).*(1-judge)+judge; %初始SOC
timestart=8; %8点离家
timework=normrnd(8.5,0.5,1,Ntest); %到班时间,服从正态分布
timerest=normrnd(17.5,0.5,1,Ntest); %下班时间
timehome=normrnd(19,0.5,1,Ntest); %到家时间,由于上下班高峰路况复杂,所以不认为下班回家耗时与上班耗时相同
SOC=SOC-judge;
battery=SOC*Cbattery; %到班后的电量
time1=zeros(1,Ntest);
time2=zeros(1,Ntest);
%SOC记录数组
SOC_sa=ones(1,Ntest);
SOC_sb=ones(1,Ntest);
for i=1:Ntest
if SOC(i)<judge+0.2
SOC_sa(i)=SOC(i);
time1(i)=timework(i); %到班后需要充电,充电开始时间为到班时间
time2(i)=time1(i)+(1-SOC(i))Cbattery/Pcharge; %充电结束时间,充电功率Pcharge
SOC(i)=SOC_end; %下班前充满电
battery(i)=CbatterySOC(i);
end
end
SOC=SOC-judge;
battery=SOC*Cbattery; %到家后的电量
time3=zeros(1,Ntest);
time4=zeros(1,Ntest);
for i=1:Ntest
if SOC(i)<max(judge,0.4)
SOC_sb(i)=SOC(i);
time3(i)=timehome(i); %到家后需要充电,充电开始时间为到班时间
time4(i)=time3(i)+(1-SOC(i))Cbattery/Pcharge; %充电结束时间,充电功率4KW
SOC(i)=SOC_end; %第二天8点前可以充满电
battery(i)=CbatterySOC(i);
end
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]王锋.基于蒙特卡洛模拟法的动车组裙板装配优化研究[J].中国设备工程. 2020,(06)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
以上是关于有序充电基于matlab蒙特卡诺和拉格朗日乘子法模拟电动车有序和无序充电含Matlab源码 2375期的主要内容,如果未能解决你的问题,请参考以下文章