1. 程式人生 > >matlab正弦波削頂半波整流

matlab正弦波削頂半波整流

削頂發生在每個週期的[60度,120度]之間。

t=linspace(0,3*pi,500);y=sin(t);
z1=((t<pi)|(t>2*pi)).*y;
w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<8*pi/3);
wn=~w;
z2=w*sin(pi/3)+wn.*z1;
subplot(4,1,1),plot(t,y,':r'),axis([0,10,-1.5,1.5])
ylabel('y'),grid on;
subplot(4,1,2),plot(t,z1,':r'),axis([0,10,-0.2,1.5]),ylabel('z1')
subplot(4,1,3),plot(t,wn,':r'),axis([0,10,-0.2,1.5]),ylabel('wn')
subplot(4,1,4),plot(t,z2,'-b'),axis([0,10,-0.2,1.5]),ylabel('z2')