首页 > 解决方案 > Julia 相当于 movmean(array,window,dims)?

问题描述

我在 linux 机器上使用 julia 0.7.0、NCDatasets.jl 和 Images.jl 来分析大约 80GB 的数据集。我没有加载很多变量,第一步是做相当于matlab的

a = moveman(movemean(movemean(array,window,1),window,2),window,4))

其中数组是 (256,256,80,600) 浮点数组。为此,我正在尝试这条线:

filtered = imfilter(array, centered(ones(window_h,window_h,1,window_t)/(window_t*window_h*window_h)),Inner())

但是,这会导致 TB 的分配,最终会占用我所有的内存并花费很长时间。matlab 线工作得很好,与我的 julia 线相比,使用的时间微不足道,这表明我正在以非最佳方式做某事。

有人可以提供任何见解吗?

标签: julia

解决方案


对matlab不太熟悉,猜猜它是移动平均线?

然后它是线性的,并且做 movemean(movemean(movemean...

你可以计算一个方程,比如

( 3*array[current] + 3*array[current-1] + 2*array[current-2] )/8

并通过数组


推荐阅读