首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Octave帮助: tsa包裹和数组处理

Octave帮助: tsa包裹和数组处理
EN

Stack Overflow用户
提问于 2016-06-28 04:28:58
回答 2查看 62关注 0票数 0

在Octave中,我是一个相当新手的程序员,仍然在努力弄清楚如何处理数据结构。我尝试通过以下代码使用tsa包中的acovf,得到以下错误:

代码语言:javascript
复制
>> pkg load tsa
>> parcorr = parcor(acovf(data,5));
>> parcorr
parcorr = [](250x0)

有人能解释一下这是什么意思吗?如果我尝试访问结果中的单个元素,则会得到以下结果:

代码语言:javascript
复制
>> parcorr(2:5)
error: A(I): index out of bounds; value 5 out of bound 0

它不应该只给我数据中的前4个高阶自相关吗?有人能解释一下发生了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2016-06-28 06:33:08

该错误消息只是表示您试图在数组没有的位置访问该数组(例如pos。2/3在2/2数组中,或在空数组中的任何位置)。最有可能的是,在将data交给acovf之前,它并不是你想要的样子(看看numel(data)size(data),看看它是否是你所期望的--可能是你把它搞乱了,它是空的或类似的)。

下面是一个有效的最小示例(将您的示例与之进行比较):

代码语言:javascript
复制
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');
票数 0
EN

Stack Overflow用户

发布于 2016-07-04 05:21:24

非常感谢你的帮助。我想我已经弄明白了问题所在。Ovtave查找的是行向量,而我提供的是acovf和parcor的列向量。一旦我把它改成了数据,它就起作用了。这真的很奇怪,Octave对向量的方向如此挑剔。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38062666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档