【发布时间】:2014-09-19 18:22:24
【问题描述】:
我有四列,即x,y,z,zcosmo。 zcosmo 的范围是0.0<zcosmo<0.5。
对于每个 x,y,z,都有一个 zcosmo。
当 x,y,z 被绘制时,它们的外观是这样的。
我想知道这个数字的体积。如果我将它切成 50 个部分(按 zcosmo 升序排列),使 每个部分都像一个圆柱体,我可以将它们相加得到最终体积。
切片圆柱体的体积是pi*r^2*h,在我的例子中是r = z/2 & h = x
例如,切片就像,
x,z for 0.0<zcosmo<0.01 找到此卷V1。然后x,z for 0.01<zcosmo<0.02找到这个卷V2等直到zcosmo=0.5
我知道要手动执行此操作(这当然很耗时),方法是:
r1 = z[np.logical_and(zcosmo>0.0,zcosmo<0.01)] / 2 #gives me z within the range 0.0<zcosmo<0.01
h1 = x[np.logical_and(zcosmo>0.0,zcosmo<0.01)] #gives me x within the range 0.0<zcosmo<0.01
V1 = math.pi*(r1**2)*(h1)
这里 r1 和 h1 应该是 r1 = ( min(z) + max(z) ) / 2.0 和 h1 = max(x) - min(x),即 最大值和最小值,这样我就可以为每个切片获得一个音量
我应该如何创建一个代码来计算 zcosmo 切片范围内的 50 个体积切片??
【问题讨论】:
标签: python numpy iteration volume slice