simUtils.py 文件源码

python
阅读 39 收藏 0 点赞 0 评论 0

项目:frequencyDependentAntennas 作者: reedessick 项目源码 文件源码
def iotaDistanceGrid( iota, distance, Niota, Ndistance, minDistance=1, maxDistance=1000, padding=2., **kwargs ):
    '''
    returns a grid over iota and distance

    return iotaGRID, distanceGRID
    '''
    cosIotaGRID = np.outer(np.linspace(-1, 1, Niota), np.ones(Ndistance)) ### spacing of inclinations

    ### maximum allowed "scaling constant" for placing distance grid
    ### take into account the detectability (malmquist prior -> gets rid of a lot of otherwise very densely sampled parameter-space
    cosIota2 = np.cos(iota)**2 
    dM3 = ( (padding*distance)**2 / (0.25*(1+cosIota2)**2+cosIota2) )**(3./2)

    ### minimum allowed "scaling constant" for distance grid
    dm3 = (minDistance/2**0.5)**3

    do = np.outer(np.ones(Niota), np.linspace(dm3, dM3, Ndistance)**(1./3)) ### constants for scaling relation

    cosIota2GRID = cosIotaGRID**2
    distanceGRID = do*(0.25*(1+cosIota2GRID)**2 + cosIota2GRID)**0.5

    distanceGRID = distanceGRID.flatten()
    truth = (distanceGRID>=minDistance)*(distanceGRID<=maxDistance) ### exclude points outside of prior bounds

    return np.arccos(cosIotaGRID).flatten()[truth], distanceGRID[truth]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号