【发布时间】:2014-09-12 21:58:03
【问题描述】:
MATLAB documentation for fminsearch 不包含类似的表单
x = fminsearch(fun,x0,options,varargin)
但是这样的形式是存在的;我已经用过了。例如:
function[z] = myFunction(x,a,b,c)
z = a * x^2 + b * x + c;
end
x0 = 0.0;
a = 2;
b = -6;
c = 10;
[x,z] = fminsearch(@myFunction,x0,[],a,b,c)
文档中省略了这一点是否有一些重要原因?是否有另一个很好的参考来描述这一点,我可以指出我的学生? (有一些文档here,但这并不是我真正想要的。)
【问题讨论】:
-
MATLAB 中有很多未记录的点点滴滴。其中一些是因为它正在开发和测试中,其中一些还没有进入文档,还有一些只是偷偷溜进来。我已经使用过这种形式的 fminsearch 很多次,发现它更容易比文档中推荐的方法使用。有一个完整的blog 专门介绍这些隐藏的“功能”。
-
谢谢,很高兴知道这一点。
-
仅供参考,这种已弃用的形式是 Matlab 旧版本的遗迹。它只是出于向后兼容性的原因而保留。 ODE 套件中的函数仍然存在相同的形式(例如,
ode45)。然而,使用anonymous functions to parametrize your functions 会更好,就像@ChrisTaylor 的回答一样——生成的代码可能会更快并且符合当前的标准/文档。
标签: matlab arguments fminsearch