平均周期竟然有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))
个人水平有限, 没资料(x.txt)怎知道为什么!?
序列的长度是3134, 又Y(1)=[]; 所以n=3133
=> freq(1)=1/(n/2)*1/2=1/n => period(1)=n
第一频率就最大, 猜测有一趋势项!:@) 回复 2 # ChaChing 的帖子
好心人!我把附件'x.txt'贴上来了。可否帮我计算下?:@P
页:
[1]