如何实现Conic类的calibrate方法以最小化get_value返回值
实现Conic类的calibrate方法以最小化get_value返回值
需要实现以下Conic类的calibrate方法,调整类属性x和y的值,从而最小化get_value方法的返回值,逻辑需在类内部完成。
类定义
class Conic: def __init__(self, x: float, y: float): self.x = x self.y = y def get_value(self) -> float: return (self.x - 2) ** 2 + (self.y + 3) ** 2 def calibrate(self): pass
预期行为
c = Conic(0,0) print(c.get_value()) --> 13 c.calibrate() print(c.get_value(), c.x, c.y) --> 0 2 -3
解决方案
观察get_value的返回值结构:它是两个平方项的和,平方项的最小值为0,当且仅当每个平方项的底数为0时,整个表达式的结果最小。
因此直接在calibrate方法中设置x和y的最优值即可:
class Conic: def __init__(self, x: float, y: float): self.x = x self.y = y def get_value(self) -> float: return (self.x - 2) ** 2 + (self.y + 3) ** 2 def calibrate(self): self.x = 2 self.y = -3
内容的提问来源于stack exchange,提问作者Oliver Mohr Bonometti
相关产品推荐
相关产品推荐

