求复数的相位分量

Find phase components of complex number

我正在绘制激光结构中反射率的行为。

下面是我的代码:

for mm=1:10000
deltabetaL=10-(2*(mm-1)/1000);
kappaL=1;
L=10^-3;
alphalossL=0.1;
phi=0;
c=299792458;
neq=3.5;
v=c/neq;
gammaL=sqrt((kappaL^2)-(deltabetaL^2));
req=(-j*kappaL*exp(j*phi)*tanh(gammaL))/(gammaL+((alphalossL/2)+j*deltabetaL)*tanh(gammaL));
A=abs(req);
theta=-angle(req);
Qine(mm)=deltabetaL;
Qreq0(mm)=A^2;
Qtheta(mm)=theta;
end
plot(Qine,Qreq0);
figure(2)
plot(Qine,Qtheta);

我希望得到反射率的振幅 A^2 和相位分量 theta 的数字如下

https://drive.google.com/open?id=0Bx6bUTVOinyySW9BZ1dXblFtQWc

https://drive.google.com/open?id=0Bx6bUTVOinyyTTBJTHh6YjctZ0U

(对不起,我不能直接嵌入图片。)

振幅形式和我预想的差不多。但是,关于阶段,有很大的不同。所以我认为问题出在我计算复数的相位分量 req.

谁能告诉我如何修复它?

谢谢!

你的计算没有问题。您尝试复制的绘图的作者将相角设置在 [-0.5*pi, 1.5*pi] 之间。因此,您需要相应地调整您的 theta。 将以下简单的 if-else 语句添加到循环中似乎有效:

if theta < -0.5*pi
theta = theta + 2*pi;
end
plot(Qine,Qtheta)

当然,您可以想出更有效的方法。