极坐标散点图(`polarscatter`)

极坐标散点图(polarscatter)

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

这个方法适合什么

极坐标下的散点,不做分箱。适合:角度—幅值的原始观测点、个别异常方向的数据分布。

电气场景

1 绝缘子泄漏电流相位分布

2 风电机组风向出力分布

3 局部放电幅值相位散点

4 监测点谐波畸变率分布

5 天线阵元幅相误差分布

代码

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

% ---- 3-1 绝缘子泄漏电流相位分布 ----
try
    th = 2*pi*rand(1,260);
    I  = 6 + 29*abs(cos(th)).^6 + 2.6*randn(1,260);
    I  = max(I,0.8);
    f = ml_fig(PP,100,90); pax = axp(f,'cb'); hold(pax,'on');
    polarscatter(pax,th,I,26,I,'filled','MarkerFaceAlpha',0.75);
    colormap(pax,parula); try, clim(pax,[min(I) max(I)]); catch, end;
    rlim(pax,[0 45]); rticks(pax,0:15:45);
    cbx(pax,[0.745 0.300 0.014 0.480],PP,'泄漏电流 <i>I</i> / mA');
    save_png(f,FIGD,'绝缘子泄漏电流相位分布');
catch ME, fprintf('[FAIL] 3-1 %s\n',ME.message); close all; end

% ---- 3-2 风电机组风向-出力散点 ----
try
    th = 2*pi*rand(1,300);
    v  = 4.5 + 5.5*abs(sin(1.6*th)) + 1.1*randn(1,300); v = min(max(v,2.5),15);
    P  = 3.2./(1+exp(-(v-7.4)/1.35));                     % 机组出力 / MW
    f = ml_fig(PP,100,90); pax = axp(f,'cb'); hold(pax,'on');
    polarscatter(pax,th,v,18+P*14,P,'filled','MarkerFaceAlpha',0.70);
    colormap(pax,turbo); try, clim(pax,[0 3.2]); catch, end;
    rlim(pax,[0 18]); rticks(pax,0:6:18);
    cbx(pax,[0.745 0.300 0.014 0.480],PP,'机组出力 <i>P</i> / MW');
    save_png(f,FIGD,'风电机组风向出力分布');
catch ME, fprintf('[FAIL] 3-2 %s\n',ME.message); close all; end

% ---- 3-3 局部放电幅值相位散点图 ----
try
    th = 2*pi*rand(1,320);
    q1 = 40 + 260*abs(sin(th)).^2;
    q2 = 25 + 90*abs(sin(th)).^1.2;
    A  = q1.*(rand(1,320)>0.35) + q2.*(rand(1,320)<=0.35) + 18*randn(1,320);
    A  = max(A,4);
    f = ml_fig(PP,100,90); pax = axp(f); hold(pax,'on');
    polarscatter(pax,th,A,24,C(2,:),'filled','MarkerFaceAlpha',0.65);
    rlim(pax,[0 430]); rticks(pax,0:100:400);
    lgp(pax,PP,{'单次放电幅值 <i>q</i> / pC'});
    save_png(f,FIGD,'局部放电幅值相位散点');
catch ME, fprintf('[FAIL] 3-3 %s\n',ME.message); close all; end

% ---- 3-4 电能质量监测点 THD 分布 ----
try
    th = 2*pi*rand(1,240);
    base = 2.6 + 1.5*cos(th-0.8);
    THD  = max(base + 0.9*randn(1,240),0.4);
    f = ml_fig(PP,100,90); pax = axp(f,'cb'); hold(pax,'on');
    polarscatter(pax,th,THD,30,THD,'filled','MarkerFaceAlpha',0.75);
    colormap(pax,parula); try, clim(pax,[min(THD) max(THD)]); catch, end;
    rlim(pax,[0 7.5]); rticks(pax,0:2.5:7.5);
    cbx(pax,[0.745 0.300 0.014 0.480],PP,'电压总谐波畸变率 <i>THD</i> / %');
    save_png(f,FIGD,'监测点谐波畸变率分布');
catch ME, fprintf('[FAIL] 3-4 %s\n',ME.message); close all; end

% ---- 3-5 天线阵元幅相误差分布 ----
try
    th = linspace(0,2*pi,33); th(end) = [];
    amp = 1 + 0.045*randn(1,numel(th));
    ph  = 3.5*abs(randn(1,numel(th)));
    f = ml_fig(PP,100,90); pax = axp(f,'cb'); hold(pax,'on');
    polarscatter(pax,th,amp,14+ph*9,ph,'filled','MarkerFaceAlpha',0.80);
    colormap(pax,parula); try, clim(pax,[0 8]); catch, end;
    rlim(pax,[0.88 1.14]); rticks(pax,[0.9 1.0 1.1]);
    cbx(pax,[0.745 0.300 0.014 0.480],PP,'相位误差 / (°)');
    save_png(f,FIGD,'天线阵元幅相误差分布');
catch ME, fprintf('[FAIL] 3-5 %s\n',ME.message); close all; end
posted @ 2026-11-10 08:30  小青蛙电气  阅读(2)  评论(0)    收藏  举报