Matlab accumarray(SUB,val),其中val为零
我有一个向量Matlab accumarray(SUB,val),其中val为零,matlab,accumarray,Matlab,Accumarray,我有一个向量vv,包含每个刻度的市场成交量数据,还有一个向量minutedx,包含不同分钟的指数。我使用accumarray计算每分钟内的音量,如下所示: orgMinuteVolumes = accumarray(minuteIdx, vv); %default function is @sum notrades = orgMinuteVolumes == 0; minuteVolumes = orgMinuteVolumes; minuteVolumes(notrades) = [
vv
,包含每个刻度的市场成交量数据,还有一个向量minutedx
,包含不同分钟的指数。我使用accumarray
计算每分钟内的音量,如下所示:
orgMinuteVolumes = accumarray(minuteIdx, vv); %default function is @sum
notrades = orgMinuteVolumes == 0;
minuteVolumes = orgMinuteVolumes;
minuteVolumes(notrades) = [];
通常它工作得很好,但有时无法在一分钟内获得所有滴答声的体积数据,并且体积向量中存在
0
s。这导致minuteVolumes
向量比其他情况下更短,因为我去掉了所有的零。例如,如果vv
以1
开头(并且在第一分钟内只有一个刻度),则分钟卷长度为175
长,但如果我将vv
更改为以0
开头,则分钟卷长度仅为174
长。我希望0
出现在我的minuteVolumes
向量中,而不是使其变短。有没有明智的方法来实现这一点?我最初的逻辑是,交易量必须非零,但我没有考虑偶尔出现的坏数据。这让人困惑。例如,orgMinuteVolumes的长度为175,第一个元素为零。然后编写专门的代码来删除所有零元素。现在您要求不要删除零。所以不要删除它们。或者你的代码/问题还有更多没有明确说明的地方。@Peter,我的想法完全正确,只是我没有足够的信心提问。西格尔,你似乎有点“定量”这是你的全职工作吗?很抱歉,这个问题考虑得不周全,我会在这方面做更多的工作,也许以后再问另一个问题。不,我只是把做这个项目当作一种爱好。我在上大学