二维直方图(`histogram2`)
二维直方图(histogram2)
03_统计与矩阵 5 张 MATLAB R2023b 100 mm 宽 @ 300 dpi
这个方法适合什么
两个变量联合分箱,用色阶表示落点密度。适合:负荷与气温的联合分布、电压与无功的联合分布、大样本散点的密化。
电气场景
1 负荷与气温联合分布

2 负荷率与线损率联合分布

3 风速与风电出力联合分布

4 电流与绕组温升联合分布

5 母线电压与无功联合分布

代码
脚本 p3_stats_matrix.m 中对应 histogram2 的一段,SEL 用于选择只跑某几个方法。
if any(SEL==2)
rng(202);
% ---- 2.1 负荷与气温联合分布 ----
Tt = 14 + 11*randn(4000,1);
Pl = 8.2 + 0.11*Tt + 1.4*randn(4000,1);
f = ml_fig(PP,100,80);
ax = axes('Parent',f,'Position',[0.165 0.190 0.690 0.755]);
histogram2(ax,Pl,Tt,7:0.8:15,-6:4:42,'DisplayStyle','tile','ShowEmptyBins','on');
colormap(ax,parula);
xlabel(ml_tx('有功负荷 <i>P</i> / MW'));
ylabel(ml_tx('气温 <i>T</i> / °C'));
xlim(ax,[7.5 14.5]); ylim(ax,[-6 42]);
cb = colorbar(ax); cb.FontName = PP.FontEN; cb.FontSize = PP.FS;
cb.Label.String = ml_tx('样本数 / 个'); cb.Label.FontName = PP.FontEN;
cb.Label.FontSize = PP.FS;
save_png(f,FIGD,'负荷与气温联合分布');
% ---- 2.2 负荷率与线损率联合分布 ----
KL = 0.35 + 0.60*betarnd(2.4,1.8,4000,1);
LL = 0.55 + 3.1*KL.^2 + 0.25*randn(4000,1);
f = ml_fig(PP,100,80);
ax = axes('Parent',f,'Position',[0.165 0.190 0.690 0.755]);
histogram2(ax,KL,LL,0.30:0.07:1.02,0.3:0.4:4.3,'DisplayStyle','tile','ShowEmptyBins','on');
colormap(ax,flipud(hot));
xlabel(ml_tx('负载率 <i>K</i>_{L} / p.u.'));
ylabel(ml_tx('线损率 Δ<i>P</i> / %'));
xlim(ax,[0.33 1.02]); ylim(ax,[0.3 4.3]);
cb = colorbar(ax); cb.FontName = PP.FontEN; cb.FontSize = PP.FS;
cb.Label.String = ml_tx('样本数 / 个'); cb.Label.FontName = PP.FontEN;
cb.Label.FontSize = PP.FS;
save_png(f,FIGD,'负荷率与线损率联合分布');
% ---- 2.3 风速与风电出力联合分布 ----
v = wblrnd(8.0,2.2,9000,1); % 威布尔风速
Pw = 1.0./(1 + exp(-(v - 6.2)/0.95)) + 0.065*randn(9000,1);
Pw = min(max(Pw,0),1.05);
f = ml_fig(PP,100,80);
ax = axes('Parent',f,'Position',[0.165 0.190 0.690 0.755]);
histogram2(ax,v,Pw,0:1.7:17,0:0.12:1.08,'DisplayStyle','tile','ShowEmptyBins','on');
colormap(ax,parula);
xlabel(ml_tx('风速 <i>v</i> / (m·s^{-1})'));
ylabel(ml_tx('风电出力 <i>P</i>_{w} / p.u.'));
xlim(ax,[0 17]); ylim(ax,[0 1.08]);
cb = colorbar(ax); cb.FontName = PP.FontEN; cb.FontSize = PP.FS;
cb.Label.String = ml_tx('样本数 / 个'); cb.Label.FontName = PP.FontEN;
cb.Label.FontSize = PP.FS;
save_png(f,FIGD,'风速与风电出力联合分布');
% ---- 2.4 电流与绕组温升联合分布 ----
Ia = 90 + 260*betarnd(2.0,2.6,4000,1);
dT = 18 + 0.135*Ia + 3.2*randn(4000,1);
f = ml_fig(PP,100,80);
ax = axes('Parent',f,'Position',[0.165 0.190 0.690 0.755]);
histogram2(ax,Ia,dT,70:35:385,10:8:90,'DisplayStyle','tile','ShowEmptyBins','on');
colormap(ax,turbo);
xlabel(ml_tx('负荷电流 <i>I</i> / A'));
ylabel(ml_tx('绕组温升 Δ<i>T</i> / K'));
xlim(ax,[70 380]); ylim(ax,[12 92]);
cb = colorbar(ax); cb.FontName = PP.FontEN; cb.FontSize = PP.FS;
cb.Label.String = ml_tx('样本数 / 个'); cb.Label.FontName = PP.FontEN;
cb.Label.FontSize = PP.FS;
save_png(f,FIGD,'电流与绕组温升联合分布');
% ---- 2.5 母线电压与无功联合分布(细网格)----
Q = 12*randn(9000,1) + 0.35*randn(9000,1);
U = 1.00 - 0.0022*Q + 0.004*randn(9000,1);
xE = 0.965:0.0045:1.035; yE = -38:5:37;
f = ml_fig(PP,100,80);
ax = axes('Parent',f,'Position',[0.165 0.190 0.690 0.755]);
histogram2(ax,U,Q,xE,yE,'DisplayStyle','tile','ShowEmptyBins','on');
colormap(ax,turbo);
xlabel(ml_tx('母线电压 <i>U</i> / p.u.'));
ylabel(ml_tx('无功功率 <i>Q</i> / Mvar'));
xlim(ax,[xE(1) xE(end)]); ylim(ax,[yE(1) yE(end)]);
cb = colorbar(ax); cb.FontName = PP.FontEN; cb.FontSize = PP.FS;
cb.Label.String = ml_tx('样本数 / 个'); cb.Label.FontName = PP.FontEN;
cb.Label.FontSize = PP.FS;
save_png(f,FIGD,'母线电压与无功联合分布');
end

浙公网安备 33010602011771号