qdbjit 发表于 2012-7-31 08:59

平均周期竟然有3000多???求解答

这是计算结果:


序列的长度是3134;为什么算出的平均周期这么大???
以下是运算程序,求各位好心人解答,谢谢!

function P=ave_period(data)

year=length(data);
wolfer=data;
% plot(year,wolfer)
% title(' signal')

Y = fft(wolfer);
Y(1)=[];

% plot(Y,'ro')
% title('Fourier Coefficients in the Complex Plane');
% xlabel('Real Axis');
% ylabel('Imaginary Axis');
power = abs(Y(1:floor(n/2))).^2;

n=length(Y);
nyquist = 1/2;
freq = (1:n/2)/(n/2)*nyquist;
% plot(freq,power)
% xlabel('cycles/year')
% title('Periodogram')

period=1./freq;
% plot(period,power);
% ylabel('Power');
% xlabel('Period (Years/Cycle)');

% hold on;
index=find(power==max(power));
mainPeriodStr=num2str(period(index));
% plot(period(index),power(index),'r.', 'MarkerSize',25);
% text(period(index)+2,power(index),['Period = ',mainPeriodStr]);
% hold off;

P=round(period(index))

ChaChing 发表于 2012-7-31 23:22

个人水平有限, 没资料(x.txt)怎知道为什么!?
序列的长度是3134, 又Y(1)=[]; 所以n=3133
=> freq(1)=1/(n/2)*1/2=1/n => period(1)=n
第一频率就最大, 猜测有一趋势项!:@)

qdbjit 发表于 2012-8-1 15:04

回复 2 # ChaChing 的帖子

好心人!我把附件'x.txt'贴上来了。可否帮我计算下?:@P
页: [1]
查看完整版本: 平均周期竟然有3000多???求解答