八度帮助:tsa参数和数组处理



我是一个相当新手的程序员在Octave和仍然试图找出如何处理数据结构。我试图使用tsa包中的acovf与此代码,得到以下错误:

>> pkg load tsa
>> parcorr = parcor(acovf(data,5));
>> parcorr
parcorr = [](250x0)
谁能解释一下这是什么意思?如果我尝试访问结果中的单个元素,我会得到以下内容:
>> parcorr(2:5)
error: A(I): index out of bounds; value 5 out of bound 0

它不应该只给我数据中的前4个高阶自相关性吗?有人能解释一下这是怎么回事吗?

这个错误信息仅仅意味着你试图在一个它没有的位置访问一个数组(例如在一个2/2的数组中pos. 2/3,或者在一个空数组中的任何位置)。最有可能的是,data不是你想要的,然后把它交给acovf(看看numel(data)size(data),看看它是否是你所期望的-可能是你只是搞砸了,它是空的或类似的)。

下面是一个工作的最小示例(与您的示例比较):

pkg load tsa
# with 1D data
data = sin(0:0.1:100);
numel(data)
parcorr = parcor(acovf(data,5));            
plot(parcorr);
# with 2D data
data2 = [sin(0:0.1:100);cos(0:0.1:100)];
size(data2)
parcorr = parcor(acovf(data2,5));            
plot(parcorr');

非常感谢您的帮助。我想我已经解决了这个问题。我要找的是行向量,而我要找的是列向量。一旦我把它改为data',它就工作了。Octave对矢量的方向这么讲究,真是太奇怪了

最新更新