有木有MATLAB大神求指点:fminsearch如何设置未知参数以1为步调来找目标函数最小值?

目的是限制fminsearch在整数中找最优,这样节省时间。该怎么设置,谢谢

可以用循环语句,来找目标函数最小值。如

myfun.m
function f=myfun(a,b) 

while a<=b

fun=inline('x*sin(x^2-x-1)','x');

[x,fval,exitflag]=fminsearch(fun,a)

a=a+1;

if exitflag==0&&exitflag==-1

    return

end

end

然后在指令窗口或执行文件中调用
myfun(-10,10)

追问

我还是不太懂,我只是想限制fminsearch在整数中找最优,这样节省时间,您能给我解释下你这循环的意图吗?我运行了下你的程序图为:

谢谢!

追答

就是通过循环,在某一区间找到有多少个极小值,然后去确认你要的那个极小值。

追问

不过还是很谢谢

追答

因不知道你的具体问题,所以只能按照这方法来回答了。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答