Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 三边测量与非线性最小二乘法_Python 3.x_Least Squares_Trilateration - Fatal编程技术网

Python 3.x 三边测量与非线性最小二乘法

Python 3.x 三边测量与非线性最小二乘法,python-3.x,least-squares,trilateration,Python 3.x,Least Squares,Trilateration,我正在尝试使用三边测量法从信标位置查找用户距离。我有一个均方误差函数,我试图用非线性最小二乘法最小化它,但我没有得到正确的结果。感谢您的帮助。代码如下 def mse(self, user_pos, positions, distances): mse = 0.0 for pos, dist in zip(positions, distances): distance = great_circle((user_pos[0], user_pos[1]), (pos[

我正在尝试使用三边测量法从信标位置查找用户距离。我有一个均方误差函数,我试图用非线性最小二乘法最小化它,但我没有得到正确的结果。感谢您的帮助。代码如下

def mse(self, user_pos, positions, distances):
    mse = 0.0
    for pos, dist in zip(positions, distances):
        distance = great_circle((user_pos[0], user_pos[1]), (pos[0], pos[1])).meters
        mse += math.pow(distance - dist, 2.0)
    return mse/len(positions)

def least_squares_func(self, positions, distances):
    # Returns users coordinates
    return least_squares(self.mse, [0,0], args=(positions, distances)).x
最小二乘法中的起始位置是[0,0],但更改后,我没有得到太多不同的结果

输入示例: 职位=[(5.0,-6.0),(13.0,-15.0),(21.0,-3.0)]
距离=[8.06,13.97,23.32]

大圆用于GPS,我们处理的是一个扁圆球体,用于信标。您必须使用简单的欧几里德度量来计算用户与每个信标之间的距离