MATLAB/Simulink中Scope及其THD分析作图程序
以下代码为之前投稿视频中的程序。

1.Scope中的波形图处理
%% DESCRIPTION OF THE CODE
%%%%%%%% Title: MATLAB论文绘图规范程序
% POWERED BY SYF ZPQ
%该程序为simulink示波器作图
%% INITIALIZATION 初始化
set(0, 'defaulttextinterpreter','latex') % 将图片的字体等等格式设置成latex样式,方便输入公式
set(0, 'defaultAxesTickLabelInterpreter','latex');
set(0, 'defaultLegendInterpreter','latex');
set(groot,'defaultLineLineWidth',2); % 默认线宽
set(gcf,'Position',[400 300 400 300]); %x轴长度,y轴长度,图长度,图高度
%% single channel
% read data
x=error_data(1:end,1); %time
y=error_data(1:end,2); % err value
% PLOT
figure(1)
p1 = plot(x,y);
axis([0 0.1 -6 6]); % 设置坐标轴在指定的区间 xmin xmax ymin ymax
xlabel('时间','Fontname', 'Times New Roman','FontSize',12);
ylabel('误差','Fontname', 'Times New Roman','FontSize',12);
set(gca,'linewidth',2,'fontsize',8,'fontname','Times');%线宽,刻度字号大小(30),刻度字体(罗马体)
set(gcf,'Position',[400 300 400 100]); %x轴长度,y轴长度,图长度,图高度
%% multiply channel
%read data
%ig is the scope data
% x=ig(1:end,1);%time
% y1=ig(1:end,2);%ig
% y2=ig(1:end,3);%iref
% y3=ig(1:end,4);%ug/10
% %plot
% figure(1)
% p1=plot(x,y1,'k',x,y3,'r');
% axis([0.3 0.34 -35 35]);
% xlabel('时间','Fontname', 'Times New Roman','FontSize',12);
% ylabel('幅值','Fontname', 'Times New Roman','FontSize',12);
% set(gca,'linewidth',2,'fontsize',8,'fontname','Times');%线宽,刻度字号大小(30),刻度字体(罗马体)
%% END

2.THD波形图处理
%% DESCRIPTION OF THE CODE
%%%%%%%% Title: MATLAB论文绘图规范程序
% POWERED BY SYF ZPQ
%该程序为THD作图
%% INITIALIZATION
% set(0, 'defaulttextinterpreter','latex') % 将图片的字体等等格式设置成latex样式,方便输入公式
% set(0, 'defaultAxesTickLabelInterpreter','latex');
% set(0, 'defaultLegendInterpreter','latex');
set(gcf,'Position',[400 300 400 100]); %x轴长度,y轴长度,图长度,图高度
%% input data
x=1:1:20; %谐波阶次
y=[3 0.64 1.25 0.22 0.54 0.06 0.75 0.2 1.07 0.12 0.63 0.24 0.84 0.21 1.02 0.16 0.35 0.08 0.13 0]; %THD含量
bar(x,y,'BarWidth',0.2,'FaceColor','r');
xlabel('谐波阶次','Fontname', 'Times New Roman','FontSize',8);
ylabel('THD(%)','Fontname', 'Times New Roman','FontSize',8);
%% 输出设置
axis([0 20 0 3]); % 设置坐标轴在指定的区间 xmin xmax ymin ymax
set(gca,'linewidth',2,'fontsize',10,'fontname','Times');%线宽,刻度字号大小(30),刻度字体(罗马体)
%% code end