Matlab|基于蒙特卡洛法的电动汽车充电负荷计算

一、充电概率分布

​ 代码如下:

us=17.6;ds=3.4;
fs1=@(x)1/(ds*(2*pi)^0.5).*exp(-(x-us).^2./(2*ds^2));%us-12~24
fs2=@(x)1/(ds*(2*pi)^0.5).*exp(-(x+24-us).^2./(2*ds^2));%0~us-12
xs1=linspace(0,24,N);
%xs_1=xs1(1:47);
%xs_2=xs1(48:200);
%fs_st=[fs2(xs_1) fs1(xs_2)];
fs_st=fs2(xs1).*(xs1<=us-12)+fs1(xs1).*(xs1>us-12);
s_st=trapz(xs1,fs_st);  %计算整个区间概率密度的积分
fs_st=fs_st/s_st;         %归一化概率密度

n=0;
while n1)*24;%生成[0,30]均匀分布随机数
    if t<=us-12
        ft_st=fs2(t)/s_st;
    else
        ft_st=fs1(t)/s_st;
    end
    r=rand(1);  %生成[0,1]均匀分布随机数
    if r<=ft_st     %如果随机数r小于f(t),接纳该t并加入序列a中
        n=n+1;
        ts_rand(n)=t;%随机生成行驶里程
    end
end
num=20;         %分20个区间统计
[x2,c]=hist(ts_rand,num);    %统计不同区间出现的个数
dc=200/num;        %区间大小
x2=x2/N/dc;         %根据统计结果计算概率密度

 得到结果如下图:

 

 

二、日行驶里程

ud=3.2;dd=0.88;
u0=0.205;
yt=0.9;%效率
cap=30;%容量
avg_v=40;%速度
avg_xh=0.2;%平均耗电量
pcd=5;%充放电功率
N=200;
%%%%%%%%%%%%%%%分布特性
f1=@(x)1./(x.*dd*(2*pi).^0.5).*exp(-(log(x)-ud).^2/(2*dd^2));
x1=linspace(0.1,200,N);
ff=f1(x1);
s=trapz(x1,ff);  %计算整个区间概率密度的积分
ff=ff/s;         %归一化概率密度

n=0;
while n1)*200;%生成[0,30]均匀分布随机数
    f=f1(t)/s;
    r=rand(1);  %生成[0,1]均匀分布随机数
    if r<=f     %如果随机数r小于f(t),接纳该t并加入序列a中
        n=n+1;
        km_rand(n)=t;%随机生成行驶里程
    end
end
%以上为生成随机数列的过程,以下为统计检验随机数列是否符合分布
num=20;         %分20个区间统计
[x2,c]=hist(km_rand,num);    %统计不同区间出现的个数
dc=200/num;        %区间大小
x2=x2/N/dc;         %根据统计结果计算概率密度

figure;
%bar(c,x2,1); hold on;  %根据统计结果画概率密度直方图

plot(x1,ff,'k','lineWidth',1.5); %hold off; %根据公式画概率密度曲线
title('电动汽车出行距离概率分布');
xlabel('行驶里程(km)');
ylabel('概率密度');

​ 三、无序充电负荷模型

 

​ 四、蒙特卡洛法分析

​ 

 通过模拟可以得到如下结果:

​五、下载链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值