2014-03-24 108 views
2

是否有NumPy的功能如下:NumPy是否具有均匀性功能?

enter image description here

我可以计算它,我只是想知道是否有更好的方法。

这里是如何我计算它没有一个给定的功能 -

len(z_vals)被取代Ai/A,因为各个区域均匀分布。

ui_minus = 0 
for value in z_vals: 
    ui_minus += abs(value - np.average(z_vals))/(len(z_vals)*np.average(z_vals)) 

ui = 1 - 0.5*ui_minus 
+0

请提供一些关于该功能的背景。 – jrennie

+0

这是一个空间均匀性函数。 wi是个人价值,wmean是所有价值的平均值。 A是对应于该值的区域。 – mauve

+0

@mauve上下文是什么?虽然我以前见过这样的功能,但我从未见过/听说过它称为均匀功能。这是否与大气科学有关? – wflynny

回答

1

代码波纹管是不循环解决方案

ui = 1 - 0.5*sum(abs(z_vals - np.average(z_vals)))/(len(z_vals)*np.average(z_vals)) 

如果你需要在你的代码很经常使用这种计算,您可以轻松地使用该方法lambda

uniformity = lambda x : 1 - 0.5*sum(abs(x - np.average(x)))/(len(x)*np.average(x)) 
定义一个函数

然后,您可以简单地称为统一如下图所示。

ui = uniformity(z_vals) 

希望它有帮助。