Cat*_*ICU 10
GoalSeek最有可能使用Bisection方法
数学中的二分法是一种根寻找方法,它重复地将一个区间一分为二,然后选择一个子区间,其中一个根必须进行进一步处理.这是一种非常简单而强大的方法,但它也相对较慢.因此,它通常用于获得对解决方案的粗略近似,然后将其用作更快速收敛方法的起点.1该方法也称为区间对分方法,2是二元搜索方法,[3]或二分法.[4]
我在这里找到了一个C#实现:C#中基于Bisection的XIRR实现
看一下:
https://www.nuget.org/packages/TridentGoalSeek/
您的算法需要实现IGoalSeekAlgorithm接口.然后用法如下:
var myAlgorithm = new MyAlgorithm(90463.45M, 200);
var goalSeeker = new GoalSeek(myAlgorithm);
var seekResult = goalSeeker.SeekResult(96178.21M);
Run Code Online (Sandbox Code Playgroud)