gpt4 book ai didi

c++ - 如何在不更改其签名的情况下运行规划求解?

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:57 25 4
gpt4 key购买 nike

好吧,我是菜鸟,所以请原谅我的简单(愚蠢)方式(如果有的话)。我有一个我不想更改格式的求解器函数

double Solver( double (*FN)(double) )
{
//return some_solution // based on iterations it does on FN(root finder)
}

Fn 看起来像这样

double FN(double param1)
{
double param2;
//..
double paramn;

return some_solution
}

困境是我想使用规划求解来查找 param2 的不同组合(比如不同值的数组)的值。如何在不更改 Solver 签名的情况下执行此操作?先谢谢您的帮助。和平!

最佳答案

所以我想出了一个办法来做到这一点。这个想法是您可以从函数中取出参数并定义一个指向该参数的指针。

double param2;
double *pparam2 = param2;
double FN(double param1)
{

//..
double paramn;

return some_solution
}

然后在使用求解器时使用 for 循环,每次都根据需要通过指针更新 param2 的值

for(int i =0; i<10; i++){
*pparm2= 55+i; //say
//and here you can use the solver without changing anything and do what //u want.
}

不是很优雅,但它有效,有更好的方法吗?

关于c++ - 如何在不更改其签名的情况下运行规划求解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28522636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com