我正在使用此处给出的模板程序:
https://www.gnu.org/software/gsl/manual/html_node/Trivial-example.html
他们提供的程序可以完美地编译和运行,这很好。我想做的是推广这种方法以找到具有任意数量参数的函数的最小值。
一些粗略的阅读表明,公制函数 (M1) 仅用于某些诊断和打印情况,因此或多或少可以忽略。剩下的就是适当地定义 E1 和 S1。不幸的是,我对使用指针和 void 的了解并不完整,所以我一直在尝试将配置“xp”升级为参数数组,而不是单个双精度。
在我天真的尝试从
double x = *((double *) xp);
至
double x = (*((double *) xp))[0];
在适当的情况下,但显然这不起作用。我确定我错过了一些愚蠢的东西,所以任何提示都会很好!我显然会定义我自己的 E1 输出函数,它将接受这些 N 个参数并返回一个数字。