📄 sagunitcomst.asv
字号:
%%sag compress
%将“持续不同时间长度”的电压凹陷信号进行归一化
clc;clear;
%产生持续时间不同的电压突降sag
t=1:320;
w0=100*pi;
a=randint(10,1,[100 900])/1000;
t1=randint(10,1,[32,160]);%产生阶跃函数的起始时间
t2=randint(10,1,[192,288]);
data=zeros(10,320);
y1=zeros(10,320);y2=zeros(10,320);
for i=1:4
%if (t2(i)-t1(i))>32
% n=(t2(i)-t1(i))/32;
% t3=(t2(i)-t1(i))/n;
% t2(i)=t1(i)+t3;
%end
y1(i,:)=stepfun(t,t1(i));
y2(i,:)=stepfun(t,t2(i));
y3(i,:)=y1(i,:)-y2(i,:);
data(i,:)=(1-a(i)*y3(i,:)).*sin(w0*0.000625*t);
subplot(2,4,1);plot(t,data(i,:));title('电压突降 no noise')
[st_matrix,st_time,st_freq]=st(data(i,:));%st of the sag signal
subplot(2,4,2);mesh(abs(st_matrix));
subplot(2,4,3);contourf(abs(st_matrix));
subplot(2,4,4);plot(st_time,abs(st_matrix));
%%%%%%%%%%%%%%%%%pause%%%%%%%%%%%%%%%%%%%%%%%
if (t2(i)-t1(i))>32
x=(t2(i)-t1(i))/32;
t3=(t2(i)-t1(i))/x;
t4(i)=t1(i)+t3;
end
abs_st_matrix=abs(st_matrix);
m=320-t2(i);
for j=1:m
abs_st_matrix(:,t4(i)+j)=abs_st_matrix(:,t2(i)+j);
end
[h,l]=size(abs_st_matrix);
n=l-(t4(i)+m);%需置零的列数
for k=1:n
abs_st_matrix(:,(t4(i)+m+k))=zeros(h,1);
end
subplot(2,4,6);mesh(abs_st_matrix);
subplot(2,4,7);contourf(abs_st_matrix);
subplot(2,4,8);plot(st_time,abs_st_matrix);
pause
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -