Excel GoalSeek算法

Cat*_*ICU 5 .net c# algorithm excel

有没有人有这个算法的代码?任何基于C语言的编程语言都可以,但我更喜欢C#.

我可以尝试实现它,但我确定我不是第一个......

编辑:这不是家庭作业,这是一个"gimme teh codez"的问题:DI只是不想重新发明轮子

Cat*_*ICU 10

GoalSeek最有可能使用Bisection方法

数学中的二分法是一种根寻找方法,它重复地将一个区间一分为二,然后选择一个子区间,其中一个根必须进行进一步处理.这是一种非常简单而强大的方法,但它也相对较慢.因此,它通常用于获得对解决方案的粗略近似,然后将其用作更快速收敛方法的起点.1该方法也称为区间对分方法,2是二元搜索方法,[3]或二分法.[4]

我在这里找到了一个C#实现:C#中基于Bisection的XIRR实现


Lat*_*Art 7

看一下:

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)