首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel GoalSeek算法

Excel GoalSeek算法
EN

Stack Overflow用户
提问于 2010-11-26 10:10:54
回答 3查看 16.8K关注 0票数 7

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

我可以尝试去实现但我肯定不是第一个.

编辑:这不是家庭作业,这是一个“给我机会”的问题:我只是不想重新发明轮子

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-26 16:03:12

GoalSeek最有可能使用二分法

数学中的二分法是一种求根方法,它反复对一个区间进行平分,然后选择一个根必须位于其中的子区间进行进一步的处理。这是一个非常简单和健壮的方法,但它也相对缓慢。正因为如此,人们常常用它来获得解的粗略近似,然后作为更快速收敛方法的起点。1--这种方法也称为区间减半法,2 --二进制搜索法--3或二分法。

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

票数 13
EN

Stack Overflow用户

发布于 2016-05-13 11:37:12

看一下:

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

您的算法需要实现IGoalSeekAlgorithm接口。然后使用如下:

代码语言:javascript
运行
复制
var myAlgorithm = new MyAlgorithm(90463.45M, 200);
var goalSeeker = new GoalSeek(myAlgorithm);
var seekResult = goalSeeker.SeekResult(96178.21M);
票数 10
EN

Stack Overflow用户

发布于 2018-10-14 14:25:38

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

样本使用情况:

代码语言:javascript
运行
复制
var sc = new SomeCalculation(); //implements interface Budoom.IGoalSeek

var goalSeek = new Budoom.GoalSeek(sc);
var goalSeekResult = goalSeek.TrySeek();

或者使用静态方法并将计算函数传递给它,如下所示:

代码语言:javascript
运行
复制
var goalSeekResult = Budoom.GoalSeek.TrySeek(Calculate);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4284301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档