极坐标直方图(`polarhistogram`)

极坐标直方图(polarhistogram)

06_极坐标与特殊 5 张 MATLAB R2023b 100 mm 宽 @ 300 dpi

这个方法适合什么

按角度分箱统计频次,即风向玫瑰图。适合:风向玫瑰图、故障发生角度的分布、来波方向的统计。

电气场景

1 风电场风向玫瑰图

2 单相接地故障相角分布

3 局部放电相位分布

4 谐波相角分布

5 雷击绕击方位角分布

代码

脚本 p6_polar_special.m 中对应 polarhistogram 的一段,SEL 用于选择只跑某几个方法。

% ---- 2-1 风向玫瑰图 ----
try
    thS = mod(2.55 + 0.55*randn(1,1200),2*pi);            % 夏季
    thW = mod(0.65 + 0.62*randn(1,900),2*pi);             % 冬季
    f = ml_fig(PP,100,90); pax = axp(f); hold(pax,'on');
    pax.ThetaZeroLocation = 'top'; pax.ThetaDir = 'clockwise';
    h1 = polarhistogram(pax,thS,'BinWidth',pi/12,'Normalization','count', ...
                        'FaceColor',C(2,:),'FaceAlpha',0.45,'EdgeColor','w');
    h2 = polarhistogram(pax,thW,'BinWidth',pi/12,'Normalization','count', ...
                        'FaceColor',C(1,:),'FaceAlpha',0.45,'EdgeColor','w');
    rlim(pax,[0 1.35*max([h1.Values h2.Values])]);
    lgp(pax,PP,{'夏季风向频次','冬季风向频次'});
    save_png(f,FIGD,'风电场风向玫瑰图');
catch ME, fprintf('[FAIL] 2-1 %s\n',ME.message); close all; end

% ---- 2-2 单相接地故障相角分布 ----
try
    thA = mod(1.15*pi + 0.24*randn(1,420),2*pi);          % 架空线路
    thC = mod(0.92*pi + 0.46*randn(1,380),2*pi);          % 电缆线路
    f = ml_fig(PP,100,90); pax = axp(f); hold(pax,'on');
    h1 = polarhistogram(pax,thA,'BinWidth',pi/18,'Normalization','count', ...
                        'FaceColor',C(3,:),'FaceAlpha',0.50,'EdgeColor','w');
    h2 = polarhistogram(pax,thC,'BinWidth',pi/18,'Normalization','count', ...
                        'FaceColor',C(4,:),'FaceAlpha',0.45,'EdgeColor','w');
    rlim(pax,[0 1.35*max([h1.Values h2.Values])]);
    lgp(pax,PP,{'架空线路 420 次','电缆线路 380 次'});
    save_png(f,FIGD,'单相接地故障相角分布');
catch ME, fprintf('[FAIL] 2-2 %s\n',ME.message); close all; end

% ---- 2-3 局部放电相位分布(PRPD) ----
try
    thP = [ mod(0.62*pi + 0.30*randn(1,260),2*pi) , mod(1.32*pi + 0.26*randn(1,240),2*pi) ];
    thQ = [ mod(0.66*pi + 0.22*randn(1,300),2*pi) , mod(1.30*pi + 0.20*randn(1,280),2*pi) ];
    f = ml_fig(PP,100,90); pax = axp(f); hold(pax,'on');
    h1 = polarhistogram(pax,thP,'BinWidth',pi/24,'Normalization','count', ...
                        'FaceColor',C(1,:),'FaceAlpha',0.30,'EdgeColor','w');
    h2 = polarhistogram(pax,thQ,'BinWidth',pi/24,'Normalization','count', ...
                        'FaceColor',C(2,:),'FaceAlpha',0.55,'EdgeColor','w');
    rlim(pax,[0 1.35*max([h1.Values h2.Values])]);
    lgp(pax,PP,{'起始放电阶段','严重放电阶段'});
    save_png(f,FIGD,'局部放电相位分布');
catch ME, fprintf('[FAIL] 2-3 %s\n',ME.message); close all; end

% ---- 2-4 5 次谐波相角分布 ----
try
    thK = mod(0.75*pi + 0.80*randn(1,900),2*pi);
    thM = mod(1.35*pi + 0.35*randn(1,700),2*pi);
    f = ml_fig(PP,100,90); pax = axp(f); hold(pax,'on');
    h1 = polarhistogram(pax,thK,'BinWidth',pi/18,'Normalization','probability', ...
                        'FaceColor',C(5,:),'FaceAlpha',0.40,'EdgeColor','w');
    h2 = polarhistogram(pax,thM,'BinWidth',pi/18,'Normalization','probability', ...
                        'FaceColor',C(6,:),'FaceAlpha',0.55,'EdgeColor','w');
    rlim(pax,[0 1.35*max([h1.Values h2.Values])]);
    lgp(pax,PP,{'整流负荷用户','变频负荷用户'});
    save_png(f,FIGD,'谐波相角分布');
catch ME, fprintf('[FAIL] 2-4 %s\n',ME.message); close all; end

% ---- 2-5 雷击绕击方位角分布 ----
try
    thL = mod(1.95*pi + 0.42*randn(1,520),2*pi);
    thR = mod(0.35*pi + 0.30*randn(1,240),2*pi);
    f = ml_fig(PP,100,90); pax = axp(f); hold(pax,'on');
    pax.ThetaZeroLocation = 'top'; pax.ThetaDir = 'clockwise';
    h1 = polarhistogram(pax,thL,'BinWidth',pi/18,'Normalization','count', ...
                        'FaceColor',C(2,:),'FaceAlpha',0.50,'EdgeColor','w');
    h2 = polarhistogram(pax,thR,'BinWidth',pi/18,'Normalization','count', ...
                        'FaceColor',C(4,:),'FaceAlpha',0.50,'EdgeColor','w');
    rlim(pax,[0 1.35*max([h1.Values h2.Values])]);
    lgp(pax,PP,{'平原段 520 次','山区段 240 次'});
    save_png(f,FIGD,'雷击绕击方位角分布');
catch ME, fprintf('[FAIL] 2-5 %s\n',ME.message); close all; end
posted @ 2026-11-10 08:29  小青蛙电气  阅读(2)  评论(0)    收藏  举报