羽毛图(`feather`)

羽毛图(feather)

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

这个方法适合什么

等间距排列的箭头,每个箭头从水平基线出发。适合:各次谐波相量、多点相量并排比较、序分量分解。

电气场景

1 各次谐波电流相量羽毛图

2 三相电压与序分量羽毛图

3 各测点基波电流相量

4 逆变器谐波含量相量

5 风电场机组出力相量

代码

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

% ---- 5-1 各次谐波电流相量 ----
try
    m1 = [0.412 0.096 0.058 0.032]; a1 = [0 0.9 -1.6 2.5];        % 1、3、5、7 次 / kA
    m2 = [0.018 0.011 0.0075 0.005]; a2 = [-0.7 1.6 -2.2 0.9];    % 9、11、13、15 次
    f = ml_fig(PP,100,90); ax = ax2(f); hold(ax,'on');
    h1 = feather(ax,m1.*cos(a1),m1.*sin(a1),'-');
    h2 = feather(ax,[zeros(1,4) m2.*cos(a2)],[zeros(1,4) m2.*sin(a2)],'-');
    try, set(h1,'Color',C(1,:),'LineWidth',1.3); catch, end
    try, set(h2,'Color',C(2,:),'LineWidth',1.3); catch, end
    xlim(ax,[0.3 8.7]); ylim(ax,[-0.16 0.22]);
    lgp(ax,PP,{'1、3、5、7 次 / kA','9、11、13、15 次 / kA'}, ...
        'northeast',[h1(1) h2(1)]);
    save_png(f,FIGD,'各次谐波电流相量羽毛图');
catch ME, fprintf('[FAIL] 5-1 %s\n',ME.message); close all; end

% ---- 5-2 三相电压与零序 / 负序分量 ----
try
    U  = [0.577 0.584 0.566]; a = [0 -2*pi/3 2*pi/3];
    z  = [0.031 0.015]; az = [-pi/2 -pi/2-2*pi/3];
    f = ml_fig(PP,100,90); ax = ax2(f); hold(ax,'on');
    h1 = feather(ax,U.*cos(a),U.*sin(a),'-');
    h2 = feather(ax,[zeros(1,3) z.*cos(az)],[zeros(1,3) z.*sin(az)],'-');
    try, set(h1,'Color',C(1,:),'LineWidth',1.3); catch, end
    try, set(h2,'Color',C(3,:),'LineWidth',1.3); catch, end
    ylim(ax,[-0.75 0.78]);
    lgp(ax,PP,{'三相正序电压(标幺值)','零序与负序分量'},'northeast',[h1(1) h2(1)]);
    save_png(f,FIGD,'三相电压与序分量羽毛图');
catch ME, fprintf('[FAIL] 5-2 %s\n',ME.message); close all; end

% ---- 5-3 各测点基波电流相量 ----
try
    m1 = [0.386 0.372 0.361]; a1 = [-0.30 -0.18 -0.05];
    m2 = [0.344 0.330];       a2 = [0.12 0.28];
    f = ml_fig(PP,100,90); ax = ax2(f); hold(ax,'on');
    h1 = feather(ax,m1.*cos(a1),m1.*sin(a1),'-');
    h2 = feather(ax,[zeros(1,3) m2.*cos(a2)],[zeros(1,3) m2.*sin(a2)],'-');
    try, set(h1,'Color',C(1,:),'LineWidth',1.3); catch, end
    try, set(h2,'Color',C(4,:),'LineWidth',1.3); catch, end
    ylim(ax,[-0.30 0.34]);
    lgp(ax,PP,{'首端 1—3 号测点 / kA','末端 4—5 号测点 / kA'}, ...
        'northeast',[h1(1) h2(1)]);
    save_png(f,FIGD,'各测点基波电流相量');
catch ME, fprintf('[FAIL] 5-3 %s\n',ME.message); close all; end

% ---- 5-4 逆变器各次谐波含量 ----
try
    m1 = [0.420 0.084 0.043 0.017]; a1 = [0 -2.4 1.5 -0.8];      % 基波与 5、7、11 次 / kA
    m2 = [0.006 0.004 0.0025 0.0018]; a2 = [2.0 -1.3 0.7 -2.7];
    f = ml_fig(PP,100,90); ax = ax2(f); hold(ax,'on');
    h1 = feather(ax,m1.*cos(a1),m1.*sin(a1),'-');
    h2 = feather(ax,[zeros(1,4) m2.*cos(a2)],[zeros(1,4) m2.*sin(a2)],'-');
    try, set(h1,'Color',C(1,:),'LineWidth',1.3); catch, end
    try, set(h2,'Color',C(2,:),'LineWidth',1.3); catch, end
    xlim(ax,[0.3 8.7]); ylim(ax,[-0.22 0.16]);
    lgp(ax,PP,{'基波与 5、7、11 次 / kA','13、17、19、23 次 / kA'}, ...
        'northeast',[h1(1) h2(1)]);
    save_png(f,FIGD,'逆变器谐波含量相量');
catch ME, fprintf('[FAIL] 5-4 %s\n',ME.message); close all; end

% ---- 5-5 风电场各机组出力相量 ----
try
    m1 = [0.62 0.56 0.68]; a1 = [0.10 0.05 0.18];
    m2 = [0.52 0.58 0.48 0.44]; a2 = [0.22 0.15 0.30 0.26];
    f = ml_fig(PP,100,90); ax = ax2(f); hold(ax,'on');
    h1 = feather(ax,m1.*cos(a1),m1.*sin(a1),'-');
    h2 = feather(ax,[zeros(1,3) m2.*cos(a2)],[zeros(1,3) m2.*sin(a2)],'-');
    try, set(h1,'Color',C(4,:),'LineWidth',1.3); catch, end
    try, set(h2,'Color',C(6,:),'LineWidth',1.3); catch, end
    xlim(ax,[0.3 7.7]); ylim(ax,[-0.22 0.30]);
    lgp(ax,PP,{'1—3 号机组 / 标幺值','4—7 号机组 / 标幺值'}, ...
        'northeast',[h1(1) h2(1)]);
    save_png(f,FIGD,'风电场机组出力相量');
catch ME, fprintf('[FAIL] 5-5 %s\n',ME.message); close all; end
posted @ 2026-11-10 08:30  小青蛙电气  阅读(1)  评论(0)    收藏  举报