📄 nonlinmin.nc
字号:
/** * Non-linear minimization interface * David Moore <dcm@csail.mit.edu> */interface NonLinMin { /* Finds a local minimum of the function provided by the Func and * DFunc callbacks. * Arguments: * p Initial point from which to perform minimization. The * ending point will be stored here upon return. * n Length of the vector p * ftol Tolerance for convergence * fret Value of the function at its local minimum will be stored * in the variable pointed to by this argument. * g,h,xi Arrays of temporary storage required by the function. * These should be at least n elements long. */ command void FindMin(float p[], int n, float ftol, float * fret, float g[], float h[], float xi[]); /* The function to be minimized, implemented by the user of this * module. The function should have the following behavior: * If xi is NULL: * Returns the value of the function at point p. * If xi is non-NULL: * Returns the value of the function at point p+x*xi. In other * words, each element of the evaluated point is p[i] + x*xi[i] */ event float Func(float p[], float x, float xi[]); /* The values of the function's partial derivatives, implemented by * the user of this module. The function should have the following * behavior: * If xi is NULL and df is non-NULL: * Evaluate the partial derivates at p. Store each derivative in * df. For example, the derivative with respect to the i'th * variable is stored in df[i]. * If xi is non-NULL and df is NULL: * Evaluate the partial derviates at p+x*xi. Compute the dot * product of the partials with xi and return the result. */ event float DFunc(float p[], float x, float xi[], float df[]);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -