【发布时间】:2012-09-27 17:37:38
【问题描述】:
我是 C 新手。
我正在尝试使用 C 中的 optim 函数。根据“编写 R 扩展”第 5.8 节,Nelder Mead 方法需要 16 个参数:
void nmmin(int n, double *xin, double *x, double *Fmin, optimfn fn,
int *fail, double abstol, double intol, void *ex,
double alpha, double beta, double gamma, int trace,
int *fncount, int maxit);
据我了解,与 R 接受函数参数中的默认值不同,C 要求函数的用户提供所有参数。 尽管我阅读了 optim hep page,但我仍然无法理解其中一些参数的含义,即:
- 失败
- 进入
- 前
- fncount
如果有人能告诉我所有论点的描述在哪里,我非常感激。
附言
以下是我弄清楚它们是什么的论点:
- n:参数个数,
- xin:参数的初始值
- x: 存储退出时的最终参数,带 fi
- Fmin:目标函数的最终值
- fn:目标函数
- abstol:绝对容差
- maxit:最大迭代次数
- trace:非负整数。如果是肯定的,则会生成有关优化进度的跟踪信息。
以下是 Nelder Mead 方法特有的一些参数:
alpha:R 优化函数使用 = 1
beta:R 优化函数使用 = 0.5
gamma:R 优化函数使用 = 2 (我通过阅读优化函数代码找到了这些默认值)
【问题讨论】: