2010-11-26 11 views
3

Est-ce que quelqu'un a le code pour cet algorithme? Tout langage de programmation basé sur C serait OK mais je préfère C#.Algorithme Excel GoalSeek

Je pourrais essayer de le mettre en œuvre, mais je suis sûr que je ne suis pas le premier ...

modifier: Il est pas ses devoirs, il est une question « Donne-moi Teh codez »: DI juste don » t veulent réinventer la roue

+2

Je ne comprends pas ce qui ne va pas avec cette question. –

Répondre

8

GoalSeek utilise le plus probable que le Bisection method

la méthode de dichotomie en mathématiques est une méthode de recherche de racine qui bissecte à plusieurs reprises un intervalle et choisit ensuite un sous-intervalle dans lequel une racine doit rester pour un traitement ultérieur. C'est une méthode très simple et robuste, mais elle est également relativement lente. Pour cette raison, il est souvent utilisé pour obtenir une approximation grossière d'une solution qui est ensuite utilisée comme comme point de départ pour des méthodes convergeant plus rapidement. 1 La méthode est également appelée méthode de division d'intervalle, 2 la méthode de recherche binaire , [3] ou la méthode de dichotomie. [4]

J'ai trouvé une application C# ici: Bisection-based XIRR implementation in C#

3

Jetez un oeil à:

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

Votre algorithme doit implémenter l'interface IGoalSeekAlgorithm. Ensuite, l'utilisation est la suivante:

var myAlgorithm = new MyAlgorithm(90463.45M, 200); 
var goalSeeker = new GoalSeek(myAlgorithm); 
var seekResult = goalSeeker.SeekResult(96178.21M);