zhangyong315315 发表于 2009-3-9 20:35

请教程序问题

N=500
t=0:0.001:0.6
x=sin(2*pi*50*t)+sin(2*pi*120*t)
a=x+2*randn(size(t))
r=fft(a,N)
k=0:1:round(N/2)
p(k)=r(k)*conj(r(k))
f=1000*(0:round(N/2))/N)
plot(f,p(1:(round(N/2)+1)))

运行之后出错,请指教。谢谢!

Spire 发表于 2009-3-11 14:14

回复 楼主 zhangyong315315 的帖子

N不是2的整数次幂,r=fft(a,N)结果正确吗?用round()判断纵坐标,个数一定与横坐标一样吗?

baixiaoping 发表于 2009-3-30 18:20

p(k)=r(k)*conj(r(k));应该是k+1我觉得数组是从p(1)开始的

songzy41 发表于 2009-3-30 20:22

把以下2语句
p(k)=r(k)*conj(r(k))
f=1000*(0:round(N/2))/N)
改为
p=r.*conj(r);
f=1000*(0:round(N/2))/N;
页: [1]
查看完整版本: 请教程序问题