.net 不知道如何使用mathdotnet LevenbergMarquardtMinimizer

hgncfbus  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(240)

我尝试使用Mathdotnet LevenbergMarquardtMinimizer来找到方程组f1和f2的根。对于其他优化器来说,这似乎是一个非常简单的过程-您调用Minmize(),使用您正在使用的函数,初始猜测,约束等,并获得结果。
然而,Mathdotnet使用IobjectiveModel作为第一个参数,我假设传递函数。
我有点困惑,不知道该怎么做,因为文档中没有代码示例,我在网上也找不到。我最好的猜测是,我应该为我的函数创建一个ICPModel接口的实现,然后将其传递给minimize()但是我真的希望这不是必要的,因为它看起来像是在其他优化包中并不真正需要的东西的更多工作。
有没有人以前遇到过这个问题,可以提供一些澄清?我真的很惊讶,有多少下载这个包在Nuget上,没有真正的任何示例代码在线。
我还没有尝试覆盖接口,因为我不确定是否需要它。当我在Python中实现这个(用scipy)时,我被允许将最小化的函数作为参数传递给方法。

ozxc1zmp

ozxc1zmp1#

你可以使用静态的函数类:https://numerics.mathdotnet.com/api/MathNet.Numerics.Optimization/ObjectiveFunction.htm
使用NonLinearModel方法,你可以得到一个可以传递到最小化器的INUMBERModel示例。

相关问题