在Matlab中我想计算一组独立点(lat / lng的m乘2矩阵)和一组折线(lat / lng的n乘2矩阵)之间的(最短)距离。结果表应该是一个n-m矩阵,其距离为KM。
我已将此JavaScript实现(http://www.bdcc.co.uk/Gmaps/BdccGeo.js)重写为Matlab,但似乎效果不佳。
目前我正在开发一个项目,其中包含相对较多的数据并遇到性能问题。我有大约40.000点和150折线。折线是原始的40.000点的子集。每条折线约15秒,计算所有这些距离可能需要长达一个小时。此外,40000x150x3的中间矩阵会导致我的较小机器出现内存不足错误。
我想知道Matlab是否已经内置了一些(更智能的)功能,而不是优化或修改这个实现。但据我所知,文档主要包含有关如何显示地理数据的信息,而不是对其进行计算。
有没有人知道或有过在Matlab中进行这些计算的经验?有没有这样的东西已经写好我可以重复使用,所以我不必重新发明轮子。最后,考虑到这些数字,这是预期的表现,还是我的功能能够表现得更好?