2012-04-02 112 views

回答

0

下面是代码,我需要:

NT=10000;%size of data that I have 
ddx=2e-9; 
dt=ddx/(3e8);%time separation between each element 
i=sqrt(-1); 
NFREQS=1000;%size of frequency array 
lambdai=150e-9; 
lambdaf=500e-9; 
freqi=3e8/lambdai;%lower limit of frequency 
freqf=3e8/lambdaf;%upper limit of frequency 
freq=zeros(1,NFREQS); 
for j=1:NFREQS 
freq(j)=freqi-j*(freqi-freqf)/NFREQS;%frequency array 
end 
arg=2*pi*freq*dt; 
lambda=linspace(lambdai,lambdaf,NFREQS); 
    for n=1:NFREQS 
    for j=1:NT 
    Exf(n)=Exf(n)+Ex(j)*exp(-i*arg(n)*j);%Ex the data that I have and Exf is fft of it 
    end 
    end 

plot(lambda,real(Epsilon)); 

此代码计算傅立叶在150E-9M T0的范围变换实施例的500E-9M

1

让我们说你已经有了x。

x%is given 
fmin = 1e15; 
fmax = 6*fmin; 
numOfSamples = length(x); 
f = linspace(fmin,fmax,numOfSamples); 
t = 1 : numOfSamples; 
y=fft(x); 
plot(fftshift(y)); 
+0

X为sin函数为固定瓦特例如w = 2 * pi * 2e15,我们必须只有峰值和一个镜像峰值,而您的代码我会看到大约10个峰值。 – peaceman 2012-04-02 05:44:29

+0

你试图做什么?把你的代码,我们将解决它。 – 0x90 2012-04-02 06:31:30

+0

我有电场在一个点和时间域我想看看我的电场的光谱行为我认为你的代码会帮助我,但我想确保它正常工作,为了测试它我把罪(2 * pi * 2e15。* t)而不是x我只是想要一个在sin频率有一个峰值的图表,你可以改变你的代码来做这件事吗?(只需修复w并只显示一个峰值)非常感谢。 – peaceman 2012-04-02 06:40:03