由于matlab R2011a,将Optimoptions更改为optimset

时间:2016-10-17 19:56:51

标签: matlab

我在MATLAB R2015a中使用optimoptions函数。语法如下:

options = optimoptions('fmincon','Display','iter','MaxFunEvals',3000000); 
fx = @(x)modifiedLogLikelihood(x,len,ET,counta,vals,INT);
parameters = fmincon(fx,x0,[],[],[],[],lb,ub,[],options);

我想在R2011a上运行相同的代码,但是我在R2011a之后引入optimoptions时收到以下错误。

  

未定义的功能或方法' optimoptions'对于' char'。

类型的输入参数

我提到this document,建议我使用optimset。

我试着接受他们的建议并写道:

options = optimset('fmincon','Display','iter',3000000); 
fx = @(x)modifiedLogLikelihood(x,len,ET,counta,vals,INT);
parameters = fmincon(fx,x0,[],[],[],[],lb,ub,[],options);

但它会产生以下错误:

  

使用==>时出错优化为198

     

无法识别的参数名称' fmincon'。请参阅中的optimset参考页面       可接受的选项参数列表的文档。链接到参考页面。

如何使用optimset获取我可以使用optimoptions获得的等效参数集。我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

如果您在尝试使用某个功能时阅读documentation page,这会很有帮助。

使用optimset您希望仅使用'fmincon'字符串作为输入来获取默认参数,然后再次使用optimset来修改您希望从默认值更改的参数值。

options = optimset('fmincon');
options = optimset(options, 'Display', 'iter', 'MaxFunEvals', 3000000);