Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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:确定圆心和半径的循环回归_Python_Numpy_Regression - Fatal编程技术网

Python:确定圆心和半径的循环回归

Python:确定圆心和半径的循环回归,python,numpy,regression,Python,Numpy,Regression,在给定三个点(x,y)坐标的情况下,我接着计算圆心和半径。我已经编写了以下python代码,但我得到的h和k值仍然是矩阵,因此我想知道如何根据该教程计算这两个值: import numpy as np from math import * last_point = (2, -4) second_last_point = (6, -2) third_last_point = (5, 5) points = [] points.append(last_point) points.append(s

在给定三个点(x,y)坐标的情况下,我接着计算圆心和半径。我已经编写了以下python代码,但我得到的h和k值仍然是矩阵,因此我想知道如何根据该教程计算这两个值:

import numpy as np
from math import *

last_point = (2, -4)
second_last_point = (6, -2)
third_last_point = (5, 5)

points = []
points.append(last_point)
points.append(second_last_point)
points.append(third_last_point)


h_numerator = []
h_denominator = []

k_numerator = []

for index in range(len(points)):
    current_point = points[index]

    h_denominator.append([current_point[0], current_point[1], 1])
    h_numerator.append([current_point[0] ** 2 + current_point[1] ** 2, current_point[1], 1])

    k_numerator.append([current_point[0], current_point[0] ** 2 + current_point[1] ** 2, 1])



h_numeratorMatrix = np.matrix(np.array(h_numerator))
denominatorMatrix = np.matrix(np.array(h_denominator))

k_numeratorMatrix = np.matrix(np.array(k_numerator))


h = h_numeratorMatrix / (2. * denominatorMatrix)
k = k_numeratorMatrix / (2. * denominatorMatrix)

print 'h=', h
print 'k=', k

您错过了教程中的一个小细节:

最简单的形式 这些涉及决定因素

你正在尝试分割矩阵(
h=h\u numeratorMatrix/(2.*分母矩阵)
) 因此,计算
h
k
的正确代码应如下所示:

h=np.linalg.det(h_数值矩阵)/(2.*np.linalg.det(分母矩阵))
k=np.linalg.det(k_数值矩阵)/(2.*np.linalg.det(分母矩阵))

附笔。 这部分代码

对于范围内的索引(len(points)):
当前_点=点[索引]
可更改为:

对于当前_点,以点为单位:
...