小编gre*_*ory的帖子

类方法作为模型函数和类方法作为 scipy.optimize 的优化函数

我正在使用 python 来解决优化问题。我想定义一个类来完成这项工作。在类中,我想使用模型函数作为类的方法,例如:

class MyClass(object):
      def f(self,x,parameters):
Run Code Online (Sandbox Code Playgroud)

但我还想在同一个类中定义另一个方法来对 x 上的函数 f 进行优化,例如:

     def Optim_Funtion(self):
         scipy.optimize.minimize(f,x0,'method='Nelder-Mead')
Run Code Online (Sandbox Code Playgroud)

我的问题是如何做到这一点?我是否必须在 Optim_Funtion 方法中将函数 f 作为 self.f 传递?我发现了一个与此相关的问题,但他们从类定义中取出了优化问题: 类方法作为 scipy.optimize.curve_fit 的模型函数 ,这不是我想要做的。

这里是我使用的代码:

class LaserGating:
# Given laser pulse energy and min photon number to be received at a detector, calculate the max distance  


def __init__(self, alpha, PhotonNumber, EnergyMin, EnergyMax, Wavelength,TargetReflection,d):

    self.alpha = alpha
    self.PhotonNumber = PhotonNumber # photon number @detector
    self.EnergyMax = EnergyMax # laser pulse energy max
    self.EnergyMin = EnergyMin # laser pulse energy …
Run Code Online (Sandbox Code Playgroud)

python optimization class scipy

5
推荐指数
1
解决办法
1700
查看次数

标签 统计

class ×1

optimization ×1

python ×1

scipy ×1