yanzi 发表于 2009-5-31 11:08

为什么求的平均周期和时间序列长度相同?

计算平均周期的程序如下面所示,不知道什么原因所得的平均周期和时间序列长度相同?劳烦高手帮忙了
function T_mean=period_mean_fft(data)
%该函数使用快速傅里叶变换FFT计算序列平均周期
%data:时间序列
%T_mean:返回快速傅里叶变换FFT计算出的序列平均周期
data=load('7.txt');
Y = fft(data);   %快速FFT变换
N = length(Y);    %FFT变换后数据长度
Y(1) = [ ];         %去掉Y的第一个数据,它是data所有数据的和
power = abs(Y(1:N/2)).^2;%求功率谱
nyquist = 1/2;
freq = (1:N/2)/(N/2)*nyquist; %求频率
subplot(121)
plot(freq,power); grid on   %绘制功率谱图
xlabel('频率')
ylabel('功率')
title('功率谱图')
period = 1./freq;                %计算周期
subplot(122)
plot(period,power); grid on%绘制周期-功率谱曲线
xlabel('周期')
ylabel('功率')
title('周期—功率谱图')
= max(power);       %求最高谱线所对应的下标
T_mean=period(index)      %由下标求出平均周期

health 发表于 2009-5-31 20:50

平均周期可以通过对时间序列的波动估计出来,你的时间序列是不是刚好取的就是时间序列的一个波动周期???

yanzi 发表于 2009-5-31 21:03

回复 沙发 health 的帖子

我的时间序列是从小到大排列的 ,并且连续几个都是相同的,也不知怎么处理

yanzi 发表于 2009-5-31 21:05

附件是我的时间序列,帮忙,谢谢你了
页: [1]
查看完整版本: 为什么求的平均周期和时间序列长度相同?