问题描述
一些网站给出了以下公式,用于从球体的体积中获取直径:
直径 = (6(V/pi))^1/3 即 6(V/pi) 的立方根
https://www.sensorsone.com/sphere-volume-to-diameter-calculator/
当使用以下代码时,我的答案是十的幂,我不明白为什么
from math import pi
vol = 36.0e-12 #pL
d = (6*(vol/pi))**(1/3)
print("d : ",d)
d_millimetres = d * 1e3
print("d_millimetres : ",d_millimetres)
d_microns = d * 1e6
print("d_microns : ",d_microns)
退货
d : 0.0004096704379531776
d_millimetres : 0.4096704379531776
d_microns : 409.67043795317755
想要的答案
40.9#microns
解决方法
球体的公式是:
V = (4/3)πr3
求解r
:
r = (3V/4/π)1/3
d = 2r
,所以:
d = 2((3V/4/π)1/3)
23 = 8
,所以在立方根内移动 8 得到:
d = ((8*3V/4/π)1/3)
d = (6V/π)1/3
在 Python 中:
import math
def d(V):
return (6*V/math.pi)**(1/3)
# NOTE! make units agree! 36 pL (36e-12 L) == 36e-15 cubic meters
print(d(36e-15))
输出:
4.0967043795317764e-05 # or 40.967 microns
使用 r = 2,V = (4/3)π23 = 32/3π
进行测试:
print(d(32/3*math.pi))
3.9999999999999996 # 4 expected