声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3879|回复: 16

[综合讨论] 请教如何用matlab 做这个autocorrelation function 的模拟

[复制链接]
发表于 2007-7-9 07:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我有一组无序时间序列的实验数据,要做以t(i+1)-t(i) 为X轴的autocorrelation,也就是说看一下任意相邻两个时间点差值的自相关情况。我没用过matlab,现在急需处理这些数据,希望大家多帮忙!
回复
分享到:

使用道具 举报

发表于 2007-7-9 07:47 | 显示全部楼层
 楼主| 发表于 2007-7-9 11:36 | 显示全部楼层
谢谢!这个链接很有帮助。现在我想先完成第一步:我的实验数据是时间序列,数据量特别大,如何通过Matlab求出相邻两个时间点的差值序列?也就是说把数据流.....ti, t(i+1), t(i+2).......变成 ....[t(i+1)-t(i)], [t(i+2)-t(i+1)].......,many thanks!
发表于 2007-7-9 11:56 | 显示全部楼层
xx=(t(2), t(3), t(4),......,t(N-1), t(N));
yy=(t(1), t(2), t(3),......,t(N-2), t(N-1));

你要得到的就是xx-yy
 楼主| 发表于 2007-7-9 12:06 | 显示全部楼层
太感谢了!以前没接触matlab, 现在急用了,呵呵!
发表于 2007-7-9 14:31 | 显示全部楼层
acf= autocorr(diff(y)); %y 是原始数据

评分

1

查看全部评分

 楼主| 发表于 2007-7-10 06:17 | 显示全部楼层
非常感谢!我试了一下:

我的时间序列是递增但无规律,都是随机出现的,我假设它们是:0,2,3,5,8,9.然后用下面的程序来看其autocorrelation:

A=[2,3,5,8,9];
B=[0,2,3,5,8];
C=A-B;
ACF=autocorr(diff(C))

然后运行,但提示出错“Undefined function or variable 'autocorr'”,希望高手继续指教!感激不尽!!同时我也加强学习基础知识!
发表于 2007-7-10 07:02 | 显示全部楼层
我的MALTAB7.0有这个函数
发表于 2007-7-10 07:12 | 显示全部楼层

回复 #7 enbb 的帖子

4楼给出的方案用一个diff(t)就可以解决了。
至于autocorr(),可能是你没有装相应的工具箱,不过可以用xcorr。
 楼主| 发表于 2007-7-10 11:26 | 显示全部楼层
谢谢两位的及时帮忙!我再找找那个autocorr()函数看看。但现在急用了,Zhlong能否告诉一下用xcorr 该如何写,比如以上面我给的数据为例。Many thanks!
发表于 2007-7-10 13:38 | 显示全部楼层

回复 #10 enbb 的帖子

参看2楼给出的链接。

评分

1

查看全部评分

 楼主| 发表于 2007-7-12 08:44 | 显示全部楼层
首先感谢各位的热心帮助!!我用Matlab2006a 自带的correlation做出了我的时间差值的自相关图。但我不知道那个自相关函数到底是个什么样的函数。图也不是我预想的。今天查了篇文献,和我做的方法类似,他们是把autocorrelation function定义为:g(tao)=sigma(I(t)I(t+tao)), 里面的tao我打不出来,然后右边的sigma是那个大写的求和符号(对t求和)。看来我要用这个自相关函数(文献称之为二阶自相关函数)。按照我的理解,t 是我的时间序列,tao是相邻两个时间点的差值。那么,现在我是否应该先定义这个函数?但这个算二元函数把,如何定义?我的最终目的是要画出autocorr function 和时间差值的图。请继续指教!

(另外,楼上给出的两个自相关函数autocorr 和xcorr , 与上面我在文献中看到的有何关系呢?唉,惭愧啊,临阵磨枪!)
发表于 2007-7-12 09:46 | 显示全部楼层

回复 #12 enbb 的帖子

关于tao的一元函数啊,怎么会是二元的?
自相关函数就是以tao为横坐标的,它就表示了不同的时间差值。
发表于 2007-7-12 09:47 | 显示全部楼层

回复 #12 enbb 的帖子

至于那两个函数,看看帮助或是原码就知道了
 楼主| 发表于 2007-7-12 10:19 | 显示全部楼层
ok, thanks! Zhlong真是热心,希望版主继续加分!!

好的,函数的区别我再看看。现在我要定义 函数 g(tao)=sigma(I(t)I(t+tao))的话该如何定义呢?里面的I (t)该如何处理?谢谢!

[ 本帖最后由 eight 于 2007-7-12 10:59 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 04:28 , Processed in 0.060961 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表