物理应用基于matlab蒙特卡洛算法电动汽车充电含Matlab源码 1164期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物理应用基于matlab蒙特卡洛算法电动汽车充电含Matlab源码 1164期相关的知识,希望对你有一定的参考价值。
一、简介
蒙特卡洛(Monte Carlo)方法,在渲染中,我们经常听到术语“蒙特卡洛”(通常缩写为MC)。但是这是什么意思?实际上,它所指的是一个非常简单的想法,蒙特卡洛方法指的是一系列统计方法,这些方法本质上用于查找事物的解决方案,例如计算函数的期望值,或者对由于没有封闭形式而无法进行分析积分的函数进行积分。我们可以用该原理来解决不同的问题,并且针对这些问题中都可以关联不同的技术或算法。所有这些算法的共同点是它们使用随机(或随机)采样。
二、源代码
clc;
clear all;
%本程序基于蒙特卡洛思想生成10000台充电汽车充电负荷曲线
rate=[0.1 0.4 0.5]; %三种充电汽车比例
P_h=[1.4 1.9; 7.7 25.6;40 100];%三种充电功率取值范围
M=10000; %10000辆车
r=0;
Bh=zeros(M,96); % 10000辆车行,96个时间列
for i=1:M
Ph=zeros(96,1); %96个时间行,1列
r=r+1;
for j=1:96
T_star=get_star(); %充电开始时间 每15分钟
qua=get_qua(); %充电电量
P_hi=get_i(rate,P_h); %充电功率 每小时
T_char=round(4*qua/P_hi(2)); %一小时有4个15分钟
T_sum=T_star+T_char; %充电结束时间
if T_sum>96 %时间不能大于96
new_T_sum=T_sum-96;
Ph(T_star:96)=P_hi(2); %从开始时间个数到96 放功率
Ph(1:new_T_sum)=P_hi(2); %从1到结束个时间 放功率
else
Ph(T_star:T_sum)=P_hi(2); %开始到结束 功率
end
end
for i=1:96
Bh(r,i)=Ph(i); %每辆车功率放入每行
end
end
B=sum(Bh,1); %每列求和
%%%%%寻找最大功率值,最大同时充电数量%%%%
max_P=max(B); %最大功率
Max_moun=zeros(96,1); %每时刻最大充电数量 96行
function P_hi=get_i(rate, P_h)
%get_i 得到充电方式及其功率
P=rand();%随机生成一个取值范围在[0-1]的数字
if 0<=P&&P<rate(1) %充电汽车比例
P_hi=[1,(P_h(1,1)+P_h(1,2))/2]; %选择第一种充电方式
elseif rate(1)<=P&&P<0.5
P_hi=[2,(P_h(2,1)+P_h(2,2))/2]; %选择第二种充电方式
else
P_hi=[3,(P_h(3,1)+P_h(3,2))/2];%选择第三种充电方式
end
while 1
P=normrnd(12.94,11.8);
if P<0
continue; %返回到while 否则 break
end %只是个标志 相当于括号
break;
end
qua=P;
三、运行结果
四、备注
版本:2014a
以上是关于物理应用基于matlab蒙特卡洛算法电动汽车充电含Matlab源码 1164期的主要内容,如果未能解决你的问题,请参考以下文章
优化充电基于matlab粒子群算法电动汽车充电动态优化策略含Matlab源码 2163期
优化充电基于matlab粒子群算法电动汽车充电动态优化策略含Matlab源码 2163期
优化充电基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对比图及充电计划)含Matlab源码 2300期
优化充电基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对比图及充电计划)含Matlab源码 2300期