我通过位于上方(z方向)的点源刺激模型——为了能够计算刺激的影响,我需要计算从该点电源到每个隔室中间的欧氏距离(见picute)
我试过这样做,但结果很奇怪——也许距离的计算是错误的
x_Mid = np.zeros(nComp)
y_Mid = np.zeros(nComp)
z_Mid = np.zeros(nComp)
for i in range(0, nComp):
y_Mid[i] = 0.
if i == 0:
x_Mid[i] = (lComp[i] / 2.)
z_Mid[i] = 1*elecShift
compDist[i] = distance.euclidean(x_Mid,y_Mid,z_Mid)*10**(-4)
else:
x_Mid[i] = x_Mid[i - 1] + (lComp[i - 1] / 2.) + (lComp[i] / 2.)
z_Mid[i] = 1*elecShift
compDist[i] = distance.euclidean(x_Mid,y_Mid,z_Mid)*10**(-4)
lcomp
是隔室的长度。y方向为零,因为它是二维模型elecshift
是点光源在z方向上的距离,单位为微米(因此,乘以10^-4,以厘米为单位)nComp
是隔室的数量
从震源到每个隔室中心的欧氏距离计算是否正确
我假设源位于
[0, 0, 0]
可以用更简单的方法计算三个向量:
那么最简单的距离计算就是:
甚至:
如果您想使用function from scipy,那么根据API,使用:
您的代码将当前的
x_Mid
作为一个点,将y_Mid
作为第二个点,将z_Mid
作为distance.euclidean()
的权重相关问题 更多 >
编程相关推荐