Excel GoalSeek algorithm

前端 未结 3 2044
误落风尘
误落风尘 2021-01-06 03:55

Does anyone have the code for this algorithm ? Any C-based programming language would be OK but I prefer C#.

I could try to implement it but I\'m sure I\'m not the f

相关标签:
3条回答
  • 2021-01-06 04:33

    GoalSeek most likely uses the Bisection method

    The bisection method in mathematics is a root-finding method that repeatedly bisects an interval and then selects a subinterval in which a root must lie for further processing. It is a very simple and robust method, but it is also relatively slow. Because of this, it is often used to obtain a rough approximation to a solution which is then used as a starting point for more rapidly converging methods.1 The method is also called the interval halving method,2 the binary search method,[3] or the dichotomy method.[4]

    I found a C# implementation here : Bisection-based XIRR implementation in C#

    0 讨论(0)
  • 2021-01-06 04:44

    Try https://www.nuget.org/packages/Budoom.GoalSeek/

    Sample usage:

    var sc = new SomeCalculation(); //implements interface Budoom.IGoalSeek
    
    var goalSeek = new Budoom.GoalSeek(sc);
    var goalSeekResult = goalSeek.TrySeek();
    

    or use the static method and pass the calculation function to it, like this:

    var goalSeekResult = Budoom.GoalSeek.TrySeek(Calculate);
    
    0 讨论(0)
  • 2021-01-06 04:52

    Have a look at:

    https://www.nuget.org/packages/TridentGoalSeek/

    Your algorithm needs to implement the IGoalSeekAlgorithm interface. Then usage is as follows:

    var myAlgorithm = new MyAlgorithm(90463.45M, 200);
    var goalSeeker = new GoalSeek(myAlgorithm);
    var seekResult = goalSeeker.SeekResult(96178.21M);
    
    0 讨论(0)
提交回复
热议问题