等值线图(`contour`)
等值线图(contour)
05_场与矢量 5 张 MATLAB R2023b 100 mm 宽 @ 300 dpi
这个方法适合什么
只有线没有填充,适合叠在其他图上看场量分布。适合:电位等值线、温度等值线、效率等高线,常与散点或流线叠加。
电气场景
1 接地网地表电位等值线

2 变压器油箱壁温度等值线

3 逆变器效率等值线

4 线路下方工频电场等值线

5 电缆沟截面温度等值线

代码
脚本 p5_field_vector.m 中对应 contour 的一段,SEL 用于选择只跑某几个方法。
if any(SEL==1)
% ---- 1.1 接地网地表电位等值线 ----
try
xg = linspace(-30,30,121); yg = linspace(-30,30,121);
[X,Y] = meshgrid(xg,yg);
R = hypot(X,Y);
V = 0.4 + 8.8*exp(-R.^2/430) + 1.7*exp(-((X-14).^2+(Y+9).^2)/130);
LV = 0.8:0.8:8.8;
f = ml_fig(PP,100,90);
ax = ax2(f);
[c,h] = contour(ax,X,Y,V,LV,'LineWidth',0.65);
clabel(c,h,'FontSize',7,'LabelSpacing',420);
colormap(ax,parula); clim(ax,[LV(1) LV(end)]);
xlabel(ml_tx('距接地中心 <i>x</i> / m'));
ylabel(ml_tx('距接地中心 <i>y</i> / m'));
xlim(ax,[-30 30]); ylim(ax,[-30 30]);
cb2(ax,PP,'地表电位 <i>U</i> / kV');
save_png(f,FIGD,'接地网地表电位等值线');
catch ME
fprintf('[FAIL] 1-1 %s\n',ME.message); close all
end
% ---- 1.2 变压器油箱壁温度等值线 ----
try
xg = linspace(0,2.0,121); yg = linspace(0,1.4,101);
[X,Y] = meshgrid(xg,yg);
T = 38 + 15*(1-Y/1.4).^1.2 ...
+ 13*exp(-((X-0.55)/0.34).^2).*exp(-((Y-0.95)/0.32).^2) ...
+ 2.6*cos(3*pi*X/2);
LV = 38:2:62;
f = ml_fig(PP,100,90);
ax = ax2(f);
[c,h] = contour(ax,X,Y,T,LV,'LineWidth',0.65);
clabel(c,h,'FontSize',7,'LabelSpacing',380);
colormap(ax,turbo); clim(ax,[LV(1) LV(end)]);
xlabel(ml_tx('油箱宽度 <i>x</i> / m'));
ylabel(ml_tx('距箱底高度 <i>y</i> / m'));
xlim(ax,[0 2]); ylim(ax,[0 1.4]);
cb2(ax,PP,'壁面温度 <i>T</i> / °C');
save_png(f,FIGD,'变压器油箱壁温度等值线');
catch ME
fprintf('[FAIL] 1-2 %s\n',ME.message); close all
end
% ---- 1.3 逆变器效率等值线 ----
try
xg = linspace(500,900,121); yg = linspace(4,20,101);
[X,Y] = meshgrid(xg,yg);
ETA = 98.4 - 0.00026*(X-720).^2 - 0.055*(Y-10).^2 - 0.0035*(X-720).*(Y-10);
LV = 86:1.5:99;
f = ml_fig(PP,100,90);
ax = ax2(f);
[c,h] = contour(ax,X,Y,ETA,LV,'LineWidth',0.65);
clabel(c,h,'FontSize',7,'LabelSpacing',420);
colormap(ax,copper); clim(ax,[LV(1) LV(end)]);
xlabel(ml_tx('直流母线电压 <i>U</i>_{dc} / V'));
ylabel(ml_tx('开关频率 <i>f</i>_{sw} / kHz'));
xlim(ax,[500 900]); ylim(ax,[4 20]);
cb2(ax,PP,'变换效率 η / %');
save_png(f,FIGD,'逆变器效率等值线');
catch ME
fprintf('[FAIL] 1-3 %s\n',ME.message); close all
end
% ---- 1.4 线路下方工频电场等值线 ----
try
xg = linspace(-40,40,141); yg = linspace(0,18,91);
[X,Y] = meshgrid(xg,yg);
E = 0.55 + 4.10*exp(-(X/15).^2)./(1+0.055*Y.^1.3);
LV = 0.6:0.4:4.6;
f = ml_fig(PP,100,90);
ax = ax2(f);
[c,h] = contour(ax,X,Y,E,LV,'LineWidth',0.65);
clabel(c,h,'FontSize',7,'LabelSpacing',420);
colormap(ax,sky); clim(ax,[LV(1) LV(end)]);
xlabel(ml_tx('距线路中心水平距离 <i>x</i> / m'));
ylabel(ml_tx('距地高度 <i>z</i> / m'));
xlim(ax,[-40 40]); ylim(ax,[0 18]);
cb2(ax,PP,'电场强度 <i>E</i> / (kV/m)');
save_png(f,FIGD,'线路下方工频电场等值线');
catch ME
fprintf('[FAIL] 1-4 %s\n',ME.message); close all
end
% ---- 1.5 电缆沟截面温度等值线 ----
try
xg = linspace(0,1.2,111); yg = linspace(0,1.0,101);
[X,Y] = meshgrid(xg,yg);
T = 26 + 30*exp(-((X-0.20).^2+(Y-0.78).^2)/0.010) ...
+ 30*exp(-((X-0.60).^2+(Y-0.78).^2)/0.010) ...
+ 28*exp(-((X-1.00).^2+(Y-0.78).^2)/0.010) ...
+ 7*exp(-((X-0.60).^2+(Y-0.28).^2)/0.14);
LV = 26:3:53;
f = ml_fig(PP,100,90);
ax = ax2(f);
[c,h] = contour(ax,X,Y,T,LV,'LineWidth',0.65);
clabel(c,h,'FontSize',7,'LabelSpacing',420);
colormap(ax,hot); clim(ax,[LV(1) LV(end)]);
xlabel(ml_tx('电缆沟宽度 <i>x</i> / m'));
ylabel(ml_tx('敷设深度 <i>d</i> / m'));
xlim(ax,[0 1.2]); ylim(ax,[0 1.0]);
cb2(ax,PP,'沟内温度 <i>T</i> / °C');
save_png(f,FIGD,'电缆沟截面温度等值线');
catch ME
fprintf('[FAIL] 1-5 %s\n',ME.message); close all
end
end

浙公网安备 33010602011771号