查找具有两个参数的函数的最小返回值

2024-09-29 03:39:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个错误函数,以及self.array上所有错误的总和:

#'array' looks something like this [[x1,y1],[x2,y2],[x3,y3],...,[xn,yn]]
#'distances' is an array with same length as array with different int values in it
def calcError(self,n,X,Y): #calculate distance of nth member of array from given point
        X,Y = float(X),float(Y)
        arrX = float(self.array[n][0])
        arrY = float(self.array[n][1])
        e = 2.71828
        eToThePower = e**(-1*self.distances[n])
        distanceFromPoint=math.sqrt((arrX-X)**2+(arrY-Y)**2)
        return float(eToThePower*(distanceFromPoint-self.distances[n])**2)

def sumFunction(self,X,Y):
        res = 0.0
        for i in range(len(self.array)):
            res += self.calcError(i,X,Y)
        return res

我一直在寻找一种方法,找出函数返回值最小的坐标。我听说过scipy,但我正在寻找一种方法来手动构建它。梯度下降似乎也不起作用,因为很难推导出这个和函数。 谢谢大家!


Tags: of函数inselfdef错误withres
1条回答
网友
1楼 · 发布于 2024-09-29 03:39:49

您是否尝试将创建变量作为字典,然后像这样附加所有迭代{self.calcError(i,X,Y)}:{i,X,Y}。如果返回变量.keys的最小值,则可以达到从最小值到值的坐标

相关问题 更多 >