Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab accumarray(SUB,val),其中val为零_Matlab_Accumarray - Fatal编程技术网

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,我的想法完全正确,只是我没有足够的信心提问。西格尔,你似乎有点“定量”这是你的全职工作吗?很抱歉,这个问题考虑得不周全,我会在这方面做更多的工作,也许以后再问另一个问题。不,我只是把做这个项目当作一种爱好。我在上大学