如何相移正弦波 - MATLAB?

How to phase shift a sinusoidal wave- MATLAB?

我想对正弦波进行相移,如下所示。

这里发生的是在红线点发生相移。因此,它不再遵循其自然路径(虚线),而是开始遵循偏移的路径(虚线)。

我试过如下编码。

clear;

t =(0:10000)/10000';

for ii = 1:length(t)

 x(ii)=exp(i*2*100*t(ii));

   if ii == 235      % point at which the phase shift occurs

        x(ii) = x(ii)*exp(-i*(pi/4));

   end

 end
 plot(t,real(x));

谁能告诉我代码中的错误?

clear;

t =(0:1000)/10000';

for ii = 1:length(t)

 x(ii)=exp(i*2*100*t(ii));

   if ii >= 235      % point at which the phase shift occurs

        x(ii) = x(ii)*exp(i*(pi/4));

   end

 end
 plot(t,real(x));

只需将 if 语句中的 == 更改为 >=。

结果如下