数学建模社区-数学中国
标题:
求:用MATLAB求自相关系数
[打印本页]
作者:
梓爱
时间:
2012-7-13 11:35
标题:
求:用MATLAB求自相关系数
下面这个程序为什么运行出错呢
- ~6 N5 C1 h5 k1 ]0 G+ z6 |! w
function r=cor_self(x,p,q)
) C& x1 r( X+ C& n6 Q4 b R _
%连续计算一个序列(列向量)的自相关系数,其中滞后时间k由p变化到q
: g, S4 q8 l. S g9 i" I
clc;close all;
( Y0 R8 C6 G% b& d1 x
n=size(x,1);
; B; }1 k& p% C/ d
for k=p:q
8 K1 m/ z" c7 [" _6 k* {
sum=0;
, Z3 o7 C) {% a6 Z3 s8 z) Z( s
for i=1:n-k
8 Y5 h' F+ ]7 A
sum=sum+(x(i)-mean(x(1:n-k)))*(x(i+k)-mean(x(1+k:n)));
0 \) ?) a% e4 Q. M W+ O
end
% T! ?- j" f6 A/ J
r(k+1)=sum/std(x(1:n-k))/std(x(1+k:n))/(n-k);
( n% J# M7 S: T
end
8 T! [( Z; \" c$ o
k=[p:q];
. R3 }7 ]1 k% q5 u
plot(k,r,'-*');
1 b& g( Q6 K2 i+ h
refline(0,0);
+ Y7 K5 ? ~4 N4 A
end
7 }( s1 y/ v# U: T
运行显示
8 k8 k3 l6 j: E
Error using ==> plot
4 ]8 [$ E+ w; s- p" [. n
Vectors must be the same lengths.
* |& M6 W8 N5 U! ?
5 z* V: G- m$ z1 X3 A& B
Error in ==> cor_self at 13
( Z$ [( R% Y- \& E- m Z& [
plot(k,r,'-*');
作者:
zjqylcy
时间:
2012-7-13 16:31
k r 长度不一样 应该是r多了一位 可以进workspace里面看看
作者:
梓爱
时间:
2012-7-15 10:13
zjqylcy 发表于 2012-7-13 16:31
* N0 i5 Y& u3 _( z, H
k r 长度不一样 应该是r多了一位 可以进workspace里面看看
6 F/ p" _) l* k3 m3 Q
这个后来我又试了下,是矩阵的问题,x的输入应该是列向量的形式,不过k的范围是怎么确定的呀,我输入的是从0到12,可是出来的结果第十一和第十二的数显示为naf,帮忙解释下吧,谢谢了~~
作者:
zjqylcy
时间:
2012-7-16 10:49
我看不太明白的是 你前面K是一个变 后面K又成了一个矩阵
5 k4 U$ P+ }/ x% d& X& B6 Q8 l0 [
naf一般就是分母为0了
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5